@import url("/family-base.css");
@import url("/family-polish.css");
@font-face {
  font-family: "Manrope Variable";
  src: url("/brand/manrope.woff2") format("woff2");
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --purple: #a87200;
  --deep: #28292e;
  --honey: #e3a000;
  --honey-ink: #936500;
  --ink: #28292e;
  --muted: #707078;
}
.capability-panel[hidden] {
  display: none !important;
}
.button > .icon:last-child {
  display: none;
}
.hero-accent {
  background: var(--honey);
}
.hero-brand-field {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, #dedfe2, #f4f4f3);
  overflow: hidden;
}
.corp-symbol {
  position: absolute;
  left: 35%;
  top: 12%;
  width: 39%;
  height: 88%;
  object-fit: contain;
  opacity: 0.14;
}
.hero-copy,
.hero h1,
.hero h1 > span,
.hero-copy > p,
.hero-kicker,
.hero-explore {
  color: #fff7d9;
}
.hero .reference-rule {
  background: #ffedb0;
}
.hero .button-white {
  color: #28292e;
}
.hero-brand .official-beepro-logo {
  width: 250px;
  max-width: 100%;
  height: auto;
  max-height: none;
}
.hero-brand .product-byline {
  font-size: 9px;
  color: #64636a;
}
.corporate-family {
  top: 205px;
}
.corporate-family .capability-shortcut {
  display: grid;
  grid-template-columns: 1fr 12px;
  gap: 6px 10px;
  padding: 11px 3px;
}
.family-logo {
  display: block;
  width: 153px;
  max-width: 100%;
}
.family-logo img {
  max-width: 100%;
  height: auto;
  max-height: 40px;
  object-fit: contain;
  object-position: left center;
}
.corporate-family .family-description {
  font-size: 9px;
  line-height: 1.6;
  color: #696970;
  grid-column: 1;
}
.corporate-family .capability-shortcut > b {
  grid-column: 2;
  grid-row: 1/3;
  align-self: center;
}
.platform-menu {
  position: relative;
}
.platform-menu summary {
  list-style: none;
  cursor: pointer;
}
.platform-menu summary::-webkit-details-marker {
  display: none;
}
.platform-options {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  width: 235px;
  background: #fff;
  border: 1px solid #dedee3;
  box-shadow: 0 12px 35px #2324291a;
  padding: 8px;
  border-radius: 12px;
  z-index: 40;
}
.platform-options a {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 15px 12px;
  border-radius: 8px;
}
.platform-options a:hover {
  background: #f4f4f3;
}
.platform-options img {
  width: 145px;
  max-height: 39px;
  object-fit: contain;
  object-position: left center;
}
.platform-options .icon {
  width: 16px;
  height: 16px;
  color: #666872;
}
.corporate-intro {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 65px;
  align-items: center;
}
.corporate-intro > div > p {
  font-size: 14px;
  line-height: 1.85;
  margin-top: 22px;
  max-width: 540px;
}
.corporate-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.corporate-pillars article {
  padding-left: 22px;
  border-left: 1px solid #deddd9;
}
.corporate-pillars .icon {
  color: var(--honey-ink);
  width: 29px;
  height: 29px;
  margin-bottom: 18px;
}
.corporate-pillars h3 {
  font-size: 17px;
  letter-spacing: -0.4px;
  margin: 0 0 10px;
}
.corporate-pillars p {
  font-size: 12px;
  line-height: 1.75;
  color: #74747b;
}
.reference-cta {
  background: var(--honey);
}
.reference-cta h2,
.reference-cta > div {
  color: #fff7d9;
}
.reference-cta .reference-rule {
  background: #ffedb0;
}
.theme-meipass { --product: #39b54a; }
.theme-controlrondas { --product: #2d82f9; }
.theme-rutinacheck { --product: #62349b; }
.theme-dotaskia { --product: #e8006f; }
.solutions-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 28px; }
.solutions-heading .eyebrow { color: var(--honey-ink); }
.solutions-heading h2 { margin: 12px 0 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.2; letter-spacing: -1px; }
.solutions-heading > p { max-width: 340px; margin: 0; font-size: 13px; line-height: 1.8; color: var(--muted); }
.platform-collection { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.platform-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #e0e2e3; border-radius: 10px; scroll-margin-top: 110px; transition: border-color .2s; }
.platform-card:hover { border-color: var(--product); }
.platform-brand { min-height: 76px; padding: 18px 22px; display: flex; align-items: center; }
.platform-brand img { display: block; width: 186px; max-width: 100%; height: 38px; object-fit: contain; object-position: left center; }
.platform-visual { height: 160px; overflow: hidden; background: var(--product); display: grid; place-items: center; color: var(--product); }
.product-art { width: 240px; max-width: 100%; height: 165px; transition: transform .25s; }
.platform-card:hover .product-art { transform: translateY(-3px); }
.platform-copy { padding: 24px 22px 20px; flex: 1; }
.platform-copy h3 { font-size: 19px; line-height: 1.3; letter-spacing: -.5px; margin: 0 0 12px; font-weight: 700; }
.platform-copy p { margin: 0; color: #6b6e75; font-size: 12px; line-height: 1.8; }
.platform-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 20px; border-top: 1px solid #e8eaec; }
.platform-actions a { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; color: #34383f; font-size: 11px; font-weight: 700; }
.platform-actions a:hover { color: var(--honey-ink); }
.platform-actions .icon { width: 16px; height: 16px; flex-shrink: 0; }
.platform-card a:focus-visible { outline: 2px solid var(--honey); outline-offset: -3px; }
@media (max-width: 1100px) {
 .platform-collection { gap: 14px; }
 .platform-brand { padding: 16px; }
 .platform-copy { padding: 20px 16px; }
 .platform-copy h3 { font-size: 18px; }
 .platform-actions { padding: 8px 14px; gap: 6px; }
}
@media (max-width: 980px) {
 .platform-collection { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
 .platform-visual { height: 140px; }
 .platform-brand { padding: 16px 22px; min-height: 68px; }
 .platform-copy { padding: 22px; }
 .platform-actions { padding: 8px 22px; }
}
@media (max-width: 760px) {
 .solutions-heading { display: block; margin-bottom: 24px; }
 .solutions-heading > p { margin-top: 14px; }
}
@media (max-width: 600px) {
 .platform-collection { grid-template-columns: 1fr; gap: 18px; }
 .platform-card { display: grid; grid-template-columns: minmax(0, 1fr) 125px; }
 .platform-brand { grid-column: 1 / -1; padding: 14px 18px; min-height: 62px; border-bottom: 1px solid #e8eaec; }
 .platform-brand img { width: 165px; height: 34px; }
 .platform-visual { grid-column: 2; grid-row: 2; height: auto; min-height: 150px; }
 .product-art { width: 135px; max-width: 100%; height: 125px; }
 .platform-copy { grid-column: 1; grid-row: 2; padding: 20px 18px; }
 .platform-copy h3 { font-size: 18px; margin-bottom: 10px; }
 .platform-copy p { font-size: 12px; line-height: 1.7; }
 .platform-actions { grid-column: 1 / -1; padding: 5px 18px; }
}
@media (max-width: 360px) {
 .platform-card { grid-template-columns: minmax(0, 1fr) 100px; }
 .platform-copy { padding: 16px 14px; }
 .platform-copy h3 { font-size: 17px; }
 .platform-copy p { font-size: 11px; }
 .product-art { width: 110px; }
}
@media (prefers-reduced-motion: reduce) { .platform-card, .product-art { transition: none; } }
.corporate-development {
  gap: 65px;
  align-items: center;
}
.engineering-brief {
  padding: 38px;
  border-radius: 18px;
  background: #2b2e33;
  color: #f4f4f4;
  box-shadow: 0 14px 35px #22242914;
}
.engineering-brief > .eyebrow {
  color: #efc979;
  font-size: 9px;
}
.engineering-brief > h3 {
  font-size: 31px;
  line-height: 1.25;
  letter-spacing: -1px;
  margin: 0 0 28px;
}
.engineering-brief article {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  border-top: 1px solid #494d53;
}
.engineering-brief article > .icon {
  color: #e6bc65;
  width: 21px;
  height: 21px;
  margin-top: 3px;
}
.engineering-brief h4 {
  font-size: 13px;
  margin: 0 0 7px;
}
.engineering-brief p {
  font-size: 12px;
  line-height: 1.7;
  color: #b9bec7;
  margin: 0;
}
.brief-signature {
  display: block;
  font-size: 8px;
  letter-spacing: 0.09em;
  color: #a5abb3;
  border-top: 1px solid #494d53;
  padding-top: 22px;
  margin-top: 8px;
  line-height: 1.7;
}
.corporate-integrations .capability-panel {
  padding: 38px;
  background: #f5f4f0;
  align-items: start;
  gap: 45px;
}
.corporate-integrations .panel-copy > .eyebrow {
  font-size: 9px;
  margin-bottom: 17px;
}
.integration-ledger {
  border: 1px solid #e1ded6;
  border-radius: 12px;
  background: #fff;
  padding: 25px;
}
.ledger-label {
  font-size: 8px;
  color: #9a793a;
  font-weight: 750;
  letter-spacing: 0.12em;
}
.integration-ledger article {
  padding: 23px 0;
  border-bottom: 1px solid #eceae5;
}
.integration-ledger article:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.integration-ledger h4 {
  font-size: 18px;
  letter-spacing: -0.4px;
  margin: 0 0 11px;
}
.integration-ledger p {
  font-size: 12px;
  line-height: 1.8;
  color: #74737b;
  margin: 0;
}
.integration-ledger article > span {
  display: block;
  font-size: 9px;
  line-height: 1.6;
  margin-top: 15px;
  padding: 7px 9px;
  background: #f7f5f0;
  color: #7c652f;
  border-radius: 5px;
}
.corporate-hardware {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
.hardware-board {
  padding: 75px clamp(30px, 6vw, 95px);
  background: #2a2c30;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hardware-board > .eyebrow {
  color: #ebc783;
}
.hardware-board > h3 {
  font-size: clamp(36px, 4.2vw, 60px);
  letter-spacing: -1.5px;
  line-height: 1.2;
  font-weight: 750;
  color: #fff;
  margin: 8px 0 25px;
}
.hardware-board > h3 > span {
  font-size: 0.57em;
  letter-spacing: -0.7px;
  color: #e9c581;
}
.hardware-board > p {
  max-width: 390px;
  font-size: 12px;
  line-height: 1.8;
  color: #aeb4bd;
}
.hardware-tags {
  display: flex;
  gap: 25px;
  padding-top: 25px;
  margin-top: 25px;
  border-top: 1px solid #494c52;
  color: #d7b36f;
}
.hardware-tags .icon {
  width: 27px;
  height: 27px;
}
.hardware-groups {
  display: grid;
  gap: 17px;
  margin: 25px 0;
}
.hardware-groups article {
  border-left: 2px solid #dfae49;
  padding-left: 15px;
}
.hardware-groups h3 {
  font-size: 14px;
  margin: 0 0 7px;
}
.hardware-groups p {
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  color: #767780;
}
.experience-copy .hardware-scope {
  font-size: 11px;
  padding-top: 20px;
  border-top: 1px solid #e6e3dc;
  color: #82818a;
}
.corporate-partner-mark {
  min-height: 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: linear-gradient(145deg, #edece8, #f7f4ec);
  padding: 30px;
  overflow: hidden;
}
.corporate-partner-mark img {
  width: 235px;
  max-height: 280px;
  object-fit: contain;
}
.corporate-partner-mark > span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #81745a;
  text-align: center;
  margin-top: 28px;
}
.partners .button {
  background: #936500;
  color: #fff;
}
.partners .button:hover {
  background: #8f6200;
  color: #fff;
}
.presence {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 65px;
  align-items: center;
  background: #f7f6f2;
}
.presence > div > p {
  font-size: 13px;
  line-height: 1.85;
  max-width: 620px;
  margin: 25px 0 0;
  color: #77767e;
}
.presence-countries {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.presence-countries article {
  padding: 28px 23px;
  background: #fff;
  border: 1px solid #e6e2d9;
  border-radius: 14px;
}
.presence-countries .icon {
  color: #b17a00;
  margin-bottom: 20px;
}
.presence-countries h3 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0 0 12px;
  letter-spacing: -0.5px;
}
.presence-countries span {
  font-size: 10px;
  color: #84818a;
  line-height: 1.5;
}
.contact-section {
  background: var(--honey);
}
.contact-section h2,
.contact-section h2 > span,
.contact-section > p {
  color: #fff7d9;
}
.contact-section .button-white {
  color: #28292e;
}
.footer {
  background: #25272b;
}
.footer .official-beepro-logo {
  width: 175px;
  max-width: 100%;
  height: auto;
  max-height: none;
}
.footer .footer-product {
  display: inline-block;
  margin-bottom: 22px;
}
.footer-intro .eyebrow,
.footer-intro strong,
.footer .footer-company {
  color: #edca88 !important;
}
.footer .footer-top p,
.footer .footer-top a:not(.beepro),
.footer .footer-service-link {
  color: #c3c5ca;
}
.footer .linkedin-link {
  font-size: 10px;
  line-height: 1.6;
}
.footer-bottom {
  border-color: #4a4b4f;
}
@media (max-width: 1150px) {
  .corporate-intro {
    gap: 40px;
    grid-template-columns: 1fr 1.1fr;
  }
  .corporate-pillars {
    gap: 15px;
  }
  .corporate-pillars article {
    padding-left: 15px;
  }
  .corporate-development {
    gap: 40px;
  }
  .engineering-brief {
    padding: 28px;
  }
  .corporate-integrations .capability-panel {
    gap: 30px;
    padding: 30px;
  }
  .hardware-board {
    padding: 50px 40px;
  }
  .presence {
    gap: 40px;
  }
  .presence-countries {
    gap: 14px;
  }
  .presence-countries article {
    padding: 25px 18px;
  }
}
@media (max-width: 1000px) {
  .corporate-intro {
    grid-template-columns: 1fr;
  }
  .corporate-pillars {
    gap: 24px;
  }
  .corporate-pillars article:first-child {
    border-left: 0;
    padding-left: 0;
  }
  .corporate-integrations .capability-tabs button {
    font-size: 10px;
  }
  .corporate-integrations .capability-tabs .tab-arrow {
    display: none;
  }
  .presence {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}
@media (max-width: 760px) {
  .corp-hero {
    height: 960px;
    min-height: 960px;
  }
  .corp-symbol {
    top: 48%;
    left: -12%;
    width: 88%;
    height: 50%;
    opacity: 0.18;
  }
  .corp-hero .hero-brand {
    top: 520px;
    right: 20px;
    width: 195px;
    padding: 18px;
  }
  .corp-hero .hero-brand .official-beepro-logo {
    width: 160px;
  }
  .corp-hero .hero-brand .product-byline {
    font-size: 7px;
    line-height: 1.6;
  }
  .corp-hero .inspection-card {
    top: 630px;
    right: 20px;
    width: 195px;
    padding: 16px;
  }
  .corporate-family .capability-shortcut {
    padding: 10px 1px;
    gap: 5px;
  }
  .corporate-family .family-logo {
    width: 135px;
  }
  .corporate-family .family-logo img {
    max-height: 29px;
  }
  .corporate-family .family-description {
    font-size: 8px;
  }
  .corporate-family > h2 {
    font-size: 12px;
    margin-bottom: 9px;
  }
  .corporate-intro {
    gap: 30px;
  }
  .corporate-intro > div > p {
    font-size: 13px;
    margin-top: 20px;
  }
  .corporate-pillars {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .corporate-pillars article,
  .corporate-pillars article:first-child {
    border-left: 0;
    border-top: 1px solid #e2dfd7;
    padding: 20px 0;
    display: grid;
    grid-template-columns: 30px 1fr;
    column-gap: 15px;
  }
  .corporate-pillars .icon {
    grid-row: span 2;
    margin-top: 1px;
    width: 25px;
    height: 25px;
  }
  .corporate-pillars h3 {
    font-size: 17px;
  }
  .corporate-pillars p {
    font-size: 12px;
  }
  .engineering-brief {
    padding: 28px 24px;
    border-radius: 15px;
  }
  .engineering-brief > h3 {
    font-size: 28px;
  }
  .engineering-brief p {
    font-size: 11px;
  }
  .corporate-integrations .capability-tabs button {
    white-space: nowrap;
  }
  .corporate-integrations .capability-panel {
    padding: 25px 20px;
    gap: 26px;
  }
  .integration-ledger {
    padding: 20px;
  }
  .integration-ledger h4 {
    font-size: 17px;
  }
  .integration-ledger p {
    font-size: 11px;
  }
  .corporate-hardware {
    grid-template-columns: 1fr;
  }
  .hardware-board {
    padding: 45px 26px;
  }
  .hardware-board > h3 {
    font-size: 45px;
  }
  .hardware-board > p {
    font-size: 11px;
  }
  .hardware-tags .icon {
    width: 24px;
    height: 24px;
  }
  .hardware-groups h3 {
    font-size: 14px;
  }
  .hardware-groups p {
    font-size: 11px;
  }
  .corporate-partner-mark {
    min-height: 315px;
    padding: 25px;
  }
  .corporate-partner-mark img {
    width: 190px;
    max-height: 230px;
  }
  .corporate-partner-mark > span {
    font-size: 8px;
  }
  .presence {
    gap: 28px;
  }
  .presence > div > p {
    font-size: 12px;
  }
  .presence-countries {
    gap: 12px;
  }
  .presence-countries article {
    padding: 23px 18px;
  }
  .presence-countries h3 {
    font-size: 18px;
  }
  .presence-countries span {
    font-size: 9px;
  }
  .platform-options {
    right: -60px;
    width: 220px;
  }
  .footer .official-beepro-logo {
    width: 160px;
  }
}
@media (max-width: 360px) {
  .corp-hero .hero-brand {
    right: 16px;
    width: 185px;
  }
  .corp-hero .inspection-card {
    right: 16px;
    width: 185px;
  }
  .presence-countries article {
    padding: 20px 14px;
  }
  .presence-countries h3 {
    font-size: 17px;
  }
}
@media (min-width: 761px) and (max-width: 1150px) {
  .corporate-family {
    padding: 18px;
  }
  .corporate-family > h2 {
    font-size: 15px;
    margin-bottom: 10px;
  }
  .corporate-family .capability-shortcut {
    padding: 6px 2px;
    gap: 3px 8px;
  }
  .corporate-family .family-logo {
    width: 128px;
  }
  .corporate-family .family-logo img {
    max-height: 30px;
  }
  .corporate-family .family-description {
    font-size: 8px;
  }
}
@media (max-width: 760px) {
  .corp-hero {
    height: 1000px;
    min-height: 1000px;
  }
  .platform-options {
    position: fixed;
    top: 76px;
    left: 16px;
    right: 16px;
    width: auto;
  }
}
.corporate-integrations .capability-tabs button {
  min-width: 0;
  white-space: normal;
}
@media (max-width: 760px) {
  .corporate-integrations .capability-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .corporate-integrations .capability-tabs button {
    display: flex;
    min-width: 0;
    gap: 7px;
    padding: 12px 10px;
    min-height: 62px;
    align-items: center;
    white-space: normal;
  }
  .corporate-integrations .capability-tabs .tab-number {
    display: none;
  }
  .corporate-integrations .capability-tabs button > span:not(.tab-number) {
    min-width: 0;
    white-space: normal;
    font-size: 10px;
    line-height: 1.5;
  }
  .corporate-integrations .capability-tabs button > .icon {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
  }
}
/* Official monochrome footer mark: preserve its internal transparent details. */
.footer-logo-crop {
  display: block;
  position: relative;
  width: 175px;
  max-width: 100%;
  aspect-ratio: 914 / 296;
  overflow: hidden;
}
.footer .footer-logo-crop .official-beepro-logo {
  position: absolute;
  width: 118.161926%;
  max-width: none;
  height: auto;
  left: -9.080963%;
  top: -132.432432%;
  filter: invert(1);
}
/* Hybrid artwork: official marks and translated labels remain independent of the scene. */
.corp-hero .corp-symbol { display: none; }
.corp-hero .hero-brand-field { background: #fffdf9; }
.corp-hero h1 { color: #fff9e8; }
.corp-hero h1 > span { color: #ffedb0; }
.ecosystem { --scene-overhang: 110px; position: absolute; left: 43%; right: 2%; top: 50%; transform: translateY(-50%); z-index: 2; max-width: 730px; margin-inline: auto; }
.ecosystem-heading { margin: 0 0 14px; color: var(--ink); text-align: center; font-size: 23px; line-height: 1.3; font-weight: 800; letter-spacing: -.7px; }
.ecosystem-heading > span { display: block; color: var(--honey-ink); }
.ecosystem-canvas { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
.ecosystem-visual { position: relative; grid-column: 1 / -1; grid-row: 2; width: calc(100% + var(--scene-overhang)); margin-left: calc(-1 * var(--scene-overhang)); clip-path: polygon(12% 0,100% 0,100% 100%,0 100%); }
.ecosystem-architecture { display: block; width: 100%; height: auto; }
.ecosystem-hub { position: absolute; top: 67%; left: 51.5%; transform: translate(-50%,-50%); width: 12%; display: flex; flex-direction: column; align-items: center; }
.ecosystem-bee { display: block; width: 38%; height: auto; }
.ecosystem-wordmark { display: block; width: 100%; aspect-ratio: 460 / 186; overflow: hidden; margin-top: 3px; }
.ecosystem-wordmark .official-beepro-logo { display: block; width: 139.130435%; max-width: none; height: auto; margin-left: -39.130435%; }
.ecosystem-node { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 4px; text-align: center; border-radius: 7px; text-decoration: none; z-index: 3; min-height: 58px; }
.ecosystem-node > img { display: block; max-width: 95%; width: auto; height: 29px; object-fit: contain; transition: transform .18s; }
.ecosystem-node > span { color: #626663; font-size: 11px; line-height: 1.5; }
.ecosystem-node-0 { grid-row: 1; grid-column: 1; transform: translateX(calc(8% - var(--scene-overhang) * .71)); }
.ecosystem-node-1 { grid-row: 1; grid-column: 2; transform: translateX(calc(-6% - var(--scene-overhang) * .28)); }
.ecosystem-node-2 { grid-row: 3; grid-column: 1; transform: translateX(calc(-4.4% - var(--scene-overhang) * .772)); }
.ecosystem-node-3 { grid-row: 3; grid-column: 2; transform: translateX(calc(14% - var(--scene-overhang) * .18)); }
.ecosystem-node:hover > img { transform: translateY(-2px); }
.ecosystem-node:focus-visible { outline: 2px solid var(--honey-ink); outline-offset: 3px; }
.ecosystem-hotspots { position: absolute; inset: 0; pointer-events: none; }
.ecosystem-hotspot { position: absolute; pointer-events: auto; border-radius: 12px; transition: background .18s; }
.ecosystem-hotspot:hover { background: #ffffff1a; }
.ecosystem-hotspot-0 { left: 1%; top: 18%; width: 33%; height: 30%; }
.ecosystem-hotspot-1 { right: 12%; top: 13%; width: 24%; height: 31%; }
.ecosystem-hotspot-2 { left: 1%; top: 59%; width: 31%; height: 36%; }
.ecosystem-hotspot-3 { right: 1%; top: 59%; width: 32%; height: 36%; }
@media (min-width: 761px) { .corp-hero { height: 620px; min-height: 620px; } }
@media (min-width: 761px) and (max-width: 1100px) {
  .ecosystem { --scene-overhang: 50px; left: 44%; right: 1.5%; }
  .ecosystem-heading { font-size: 20px; }
  .ecosystem-node > img { height: 24px; }
  .ecosystem-node > span { font-size: 10px; }
}
@media (max-width: 760px) {
  .corp-hero { height: auto; min-height: 0; padding-bottom: 36px; }
  .corp-hero .hero-accent { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 35px), 0 100%); height: 490px; }
  .corp-hero .hero-copy { position: relative; top: auto; left: auto; right: auto; padding: 32px 26px 52px; width: auto; min-height: 490px; }
  .ecosystem { --scene-overhang: 0px; position: relative; inset: auto; transform: none; margin: 24px auto 0; width: calc(100% - 32px); max-width: 560px; }
  .ecosystem-heading { font-size: 24px; margin-bottom: 18px; }
  .ecosystem-canvas { gap: 14px; }
  .ecosystem-visual { grid-row: 1; clip-path: none; }
  .ecosystem-node-0, .ecosystem-node-1 { grid-row: 2; }
  .ecosystem-node-2, .ecosystem-node-3 { grid-row: 3; }
  .ecosystem-node { min-height: 82px; padding: 5px 0; gap: 9px; transform: none; }
  .ecosystem-node > img { height: 31px; max-width: 100%; }
  .ecosystem-node > span { font-size: 12px; }
  .ecosystem-hotspots { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ecosystem-node > img, .ecosystem-hotspot { transition: none; } }

/* Dedicated resource pages and a compact column within the existing footer. */
.footer .footer-top { grid-template-columns: 1.35fr .7fr .9fr 1.05fr 1.25fr; gap: 32px; }
.footer .footer-resources { min-width: 0; }
.footer .footer-resources h3 { margin: 0 0 18px; }
.footer .footer-resources h3 a { color: inherit; font-size: inherit; margin: 0; }
.footer .footer-resources > a { display: block; margin: 0 0 12px; font-size: 12px; line-height: 1.7; }
.footer .footer-resources > a.footer-status { margin-top: 20px; color: #edca88; }
.footer .footer-brand .footer-entities { font-size: 10px; line-height: 1.9; margin-top: 22px; color: #a9adb3; }
.resource-page { --resource-ink: #292c30; --resource-muted: #60666e; --resource-line: #e0e2e4; color: var(--resource-ink); padding: 64px max(32px, calc((100vw - 1200px) / 2)) 88px; background: #f5f6f6; }
.resource-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; line-height: 1.6; color: var(--resource-muted); margin-bottom: 38px; }
.resource-breadcrumb a { color: inherit; }
.resource-masthead { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: 36px; margin-bottom: 40px; border-bottom: 1px solid var(--resource-line); }
.resource-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 750; letter-spacing: .14em; color: #795400; }
.resource-eyebrow::before { content: ""; height: 3px; width: 28px; background: #e3a000; }
.resource-masthead h1 { max-width: 850px; font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: 1.12; letter-spacing: -.045em; font-weight: 650; margin: 18px 0 24px; }
.resource-entities { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 12px; color: var(--resource-muted); line-height: 1.6; }
.resource-entities span + span { border-left: 1px solid #c5c9cc; padding-left: 22px; }
.resource-back { display: inline-flex; align-items: center; gap: 16px; flex-shrink: 0; min-height: 44px; font-size: 12px; font-weight: 650; }
.resource-back .icon, .document-end .icon { width: 18px; height: 18px; }
.resource-label { display: block; color: var(--resource-muted); font-size: 10px; font-weight: 750; letter-spacing: .12em; margin-bottom: 18px; }
.document-layout { display: grid; grid-template-columns: 246px minmax(0, 1fr); align-items: start; gap: 48px; }
.document-sidebar { position: sticky; top: 106px; max-height: calc(100vh - 130px); overflow: auto; scrollbar-width: thin; }
.document-switcher { padding-bottom: 24px; }
.document-switcher > a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px; margin: 2px 0; border-radius: 4px; color: #545b63; font-size: 12px; line-height: 1.5; }
.document-switcher > a .icon { height: 18px; width: 18px; flex-shrink: 0; }
.document-switcher > a[aria-current] { background: #f7e8bc; color: #634500; font-weight: 700; }
.document-switcher > a:hover { background: #eee4ce; color: #453300; }
.document-current { margin-left: auto; font-size: 7px; }
.document-toc { padding-top: 22px; border-top: 1px solid var(--resource-line); }
.document-toc summary { font-size: 12px; font-weight: 700; cursor: pointer; margin-bottom: 14px; }
.document-toc a { display: block; font-size: 11px; color: var(--resource-muted); line-height: 1.6; padding: 7px 0; }
.document-toc a:hover { color: #795400; text-decoration: underline; }
.document-reading { min-width: 0; background: #fff; border: 1px solid var(--resource-line); border-radius: 6px; }
.legal-document { padding: 20px 48px 36px; font-size: 15px; }
.legal-document p, .legal-document li { line-height: 1.9; color: #454b52; }
.legal-document p { margin: 20px 0; }
.legal-document h2 { font-size: 19px; line-height: 1.4; letter-spacing: -.025em; font-weight: 700; margin: 38px 0 16px; padding-top: 24px; border-top: 1px solid #eceeef; scroll-margin-top: 110px; }
.legal-document h2:first-child { margin-top: 8px; border: 0; }
.legal-document ul { list-style: disc; padding-left: 22px; margin: 20px 0; }
.legal-document li { margin-bottom: 12px; padding-left: 5px; }
.legal-document a { text-decoration: underline; text-underline-offset: 3px; color: #795400; overflow-wrap: anywhere; }
.document-end { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin: 0 48px; padding: 24px 0; border-top: 1px solid var(--resource-line); }
.document-end a { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; min-height: 32px; }
.resource-intro { color: var(--resource-muted); font-size: 16px; line-height: 1.8; margin: -6px 0 28px; }
.resource-directory-mark { display: grid; place-items: center; width: 100px; height: 100px; border-radius: 50%; border: 1px solid #dfd0a9; color: #9b700d; flex-shrink: 0; }
.resource-directory-mark .icon { height: 38px; width: 38px; }
.resource-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.resource-card { display: flex; flex-direction: column; align-items: start; min-height: 255px; padding: 28px; border: 1px solid var(--resource-line); border-radius: 5px; background: #fff; transition: border-color .15s, background .15s; }
.resource-card:hover { border-color: #bc8c26; background: #fffcf5; }
.resource-card-top { display: flex; justify-content: space-between; align-items: center; width: 100%; color: #8a650f; }
.resource-card-top .icon { width: 25px; height: 25px; }
.resource-card-top > span { font-size: 10px; color: #737b82; letter-spacing: .08em; }
.resource-card h2 { font-size: 22px; line-height: 1.35; letter-spacing: -.03em; font-weight: 600; margin: 30px 0 26px; }
.resource-card-link { margin-top: auto; width: 100%; display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 600; }
.resource-card-link .icon { width: 19px; height: 19px; }
.resource-service-card { display: flex; flex-direction: column; padding: 28px; border-radius: 5px; background: #2e3236; color: #fff; }
.resource-service-card .resource-label { color: #edca88; }
.resource-service-card h2 { font-size: 23px; font-weight: 500; line-height: 1.4; letter-spacing: -.025em; margin: 8px 0 28px; }
.resource-service-card a { margin-top: auto; color: #edca88; min-height: 44px; display: flex; align-items: center; font-size: 12px; }
.resource-directory-note { margin: 24px 0 0; font-size: 12px; color: var(--resource-muted); }
.resource-page a:focus-visible, .footer-resources a:focus-visible { outline: 2px solid #bd8500; outline-offset: 4px; }
@media (max-width: 1100px) {
 .footer .footer-top { grid-template-columns: 1.2fr 1fr 1fr; gap: 32px; }
 .document-layout { grid-template-columns: 215px minmax(0, 1fr); gap: 28px; }
 .legal-document { padding: 16px 30px 28px; }
 .document-end { margin: 0 30px; }
 .resource-masthead { align-items: start; }
 .resource-back { max-width: 150px; flex-shrink: 1; }
}
@media (max-width: 760px) {
 .resource-page { padding: 48px 22px 56px; }
 .resource-breadcrumb { margin-bottom: 24px; font-size: 10px; gap: 9px; }
 .resource-masthead { display: block; padding-bottom: 26px; margin-bottom: 28px; }
 .resource-masthead h1 { font-size: 36px; margin-top: 16px; }
 .resource-entities { display: grid; gap: 4px; font-size: 11px; }
 .resource-entities span + span { border: 0; padding: 0; }
 .resource-back { margin-top: 16px; max-width: none; }
 .document-layout { display: block; }
 .document-sidebar { position: static; max-height: none; overflow: visible; margin-bottom: 24px; }
 .document-switcher { display: flex; flex-wrap: wrap; gap: 6px; padding-bottom: 20px; }
 .document-switcher .resource-label { width: 100%; margin-bottom: 6px; }
 .document-switcher > a { font-size: 11px; padding: 10px; border: 1px solid #dce0e2; background: #fff; gap: 7px; min-height: 44px; }
 .document-switcher > a[aria-current] { border-color: #d7bb78; }
 .document-switcher > a .icon { width: 14px; height: 14px; }
 .document-current { display: none; }
 .document-toc { padding-top: 16px; }
 .document-toc nav { columns: 2; column-gap: 20px; }
 .document-toc a { break-inside: avoid; font-size: 10px; }
 .legal-document { padding: 4px 22px 24px; font-size: 14px; }
 .legal-document h2 { font-size: 18px; }
 .document-end { margin: 0 22px; }
 .resource-directory-mark { display: none; }
 .resource-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .resource-card { padding: 22px; min-height: 240px; }
 .resource-card h2 { font-size: 20px; }
 .resource-service-card { padding: 22px; }
 .resource-service-card h2 { font-size: 20px; }
 .footer .footer-top { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
 .footer .footer-brand { grid-column: 1 / -1; }
 .footer .footer-brand .footer-entities { margin-top: 16px; }
 .footer .footer-resources > a { min-height: 44px; margin-bottom: 6px; font-size: 11px; }
}
@media (max-width: 420px) {
 .resource-page { padding-left: 18px; padding-right: 18px; }
 .resource-masthead h1 { font-size: 31px; }
 .resource-cards { grid-template-columns: 1fr; }
 .resource-card { min-height: 210px; }
 .document-toc nav { columns: 1; }
 .legal-document { padding-left: 18px; padding-right: 18px; }
}

.footer .footer-resources > a.footer-status, .resource-service-card a { display: flex; align-items: center; gap: 9px; }
.external-link-icon { width: 15px; height: 15px; flex-shrink: 0; }
