/* Company perspective and the proposed Bridge connection, in the public review. */
.company-bridge-page .delivery-scope-ledger article > span { color: #766038; }
.company-bridge-page .delivery-demo .delivery-explanation { align-content: start; }
.company-perspective { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; background: #edf2f4; margin-top: 28px; }
.company-field-image { position: relative; display: grid; }
.company-field-picture { position: relative; min-height: 590px; overflow: hidden; }
.company-field-image img { width: 100%; height: 100%; object-fit: cover; object-position: 39% center; position: absolute; inset: 0; }
.public-site .company-field-image > .public-ai-caption { position: absolute; right: 18px; bottom: 14px; padding: 0; color: #102334; }
.company-perspective-copy { padding: 68px max(var(--public-gutter), 5vw); align-self: center; }
.company-perspective-copy h2 { font-size: clamp(34px, 3.4vw, 50px); line-height: 1.12; font-weight: 450; letter-spacing: -.04em; max-width: 19ch; }
.company-perspective-copy > p:not(.solution-eyebrow) { font-size: 16px; color: #52616c; line-height: 1.8; margin-top: 24px; max-width: 42ch; }
.company-maker { display: flex; align-items: center; gap: 18px; margin-top: 34px; padding-top: 26px; border-top: 1px solid #c6d3d9; text-decoration: none; font-size: 12px; }
.company-maker img { width: 48px; height: 30px; flex-shrink: 0; }
.company-maker strong { font-size: 14px; font-weight: 600; letter-spacing: .035em; }
.company-maker small { display: block; font-size: 10px; color: #52616c; margin-top: 8px; line-height: 1.6; }
.company-maker > span:last-child { margin-left: auto; font-size: 20px; }
.company-maker:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.company-offer-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; margin-top: 50px; }
.company-offer-paths article { border-top: 1px solid #cdd6d8; padding-top: 26px; }
.company-offer-paths article > span { font-size: 11px; color: #766038; }
.company-offer-paths h3 { font-size: clamp(29px, 3vw, 40px); line-height: 1.15; font-weight: 450; letter-spacing: -.03em; margin-top: 22px !important; }
.company-offer-paths p { font-size: 16px; line-height: 1.75; color: #52616c; margin-top: 22px !important; max-width: 47ch; }
.company-offer-paths ul { list-style: none; padding: 0; margin: 27px 0 20px; color: #52616c; font-size: 12px; line-height: 1.6; }
.company-offer-paths li { padding: 11px 0; border-top: 1px solid #d9e0e3; }
.company-offer-paths li::before { content: "—"; margin-right: 12px; color: #766038; }
.company-principle-list { margin-top: 48px; }
.company-principle-list article { display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 1fr); column-gap: 5%; align-items: baseline; border-top: 1px solid #3a5060; padding-block: 30px; }
.company-principle-list article > span { font-size: 11px; color: #d8c391; }
.company-principle-list h3 { font-size: 27px; line-height: 1.3; font-weight: 450; letter-spacing: -.025em; max-width: 24ch; }
.company-principle-list p { color: #bdcbd4; font-size: 15px; line-height: 1.8; }

.bridge-connection-section { background: #edf2f4; }
.bridge-connection-map { display: grid; grid-template-columns: minmax(0, 1fr) 45px minmax(0, 1fr) 45px minmax(0, 1.06fr); gap: 16px; align-items: stretch; }
.bridge-node-label { display: block; font-size: 10px; color: #52616c; text-transform: uppercase; letter-spacing: .07em; line-height: 1.6; }
.bridge-source { padding: 22px 0; }
.bridge-source-drawing { height: 136px; display: grid; place-items: center; margin-block: 16px; }
.bridge-source-drawing svg { width: min(100%, 245px); height: 130px; fill: none; stroke: #7f97a3; stroke-width: 1.2; stroke-linejoin: round; }
.bridge-equipment-shell { fill: #f8fbfc; }
.bridge-equipment-detail { fill: #dfe8eb; }
.bridge-source h3 { font-size: 23px; line-height: 1.25; font-weight: 450; letter-spacing: -.025em; }
.bridge-reading-value { font-size: 45px; line-height: 1.1; font-weight: 400; letter-spacing: -.045em; margin-top: 12px; }
.bridge-reading-value > span { font-size: 21px; letter-spacing: -.01em; color: #52616c; }
.bridge-source > p { color: #52616c; font-size: 12px; margin-top: 13px !important; line-height: 1.6; }
.bridge-reading-origin { display: grid; grid-template-columns: 65px 1fr; gap: 10px 18px; padding-top: 22px; margin-top: 24px; border-top: 1px solid #c6d3d9; font-size: 11px; line-height: 1.6; }
.bridge-reading-origin > span { color: #52616c; }
.bridge-reading-origin strong { font-weight: 450; }
.bridge-map-link { position: relative; display: grid; place-items: center; }
.bridge-map-link svg { display: block; width: 100%; max-width: 55px; height: 30px; fill: none; stroke: #897347; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.bridge-node { padding: 22px 10px; text-align: center; }
.bridge-node-mark { display: grid; place-items: center; height: 136px; margin-block: 16px; }
.bridge-node-mark svg { width: 160px; height: 140px; fill: none; stroke: #8c9fa5; stroke-width: 1.1; stroke-linejoin: round; }
.bridge-node-outline { fill: #f8faf9; }
.bridge-node-inner { fill: #d9e3e5; stroke: #a9bac0; }
.bridge-node-route { stroke: #766038; stroke-width: 1.5; }
.bridge-node-mark circle { fill: #766038; stroke: none; }
.bridge-node h3 { font-size: 25px; line-height: 1.2; font-weight: 450; letter-spacing: -.03em; }
.bridge-node-functions { padding: 0; margin: 26px 0 0; list-style: none; text-align: left; color: #52616c; font-size: 11px; line-height: 1.6; }
.bridge-node-functions li { display: flex; gap: 14px; border-top: 1px solid #c6d3d9; padding: 12px 0; }
.bridge-node-functions span { color: #766038; font-size: 9px; padding-top: 2px; }
.bridge-destination { background: #fff; border: 1px solid #c3d2d9; padding: 26px; border-radius: 16px; box-shadow: 0 20px 34px -28px #10233488; }
.bridge-destination-header { border-block: 1px solid #d9e1e5; padding-block: 22px; margin-top: 21px; }
.bridge-destination-header > span { font-size: 11px; color: #52616c; }
.bridge-destination-header strong { display: block; font-size: 26px; font-weight: 450; letter-spacing: -.03em; margin-top: 10px; }
.bridge-destination-header p { color: #52616c; font-size: 11px; margin-top: 7px !important; line-height: 1.6; }
.bridge-destination .bridge-reading-value { margin-top: 22px; }
.bridge-destination > p { color: #52616c; font-size: 11px; line-height: 1.6; margin-top: 12px !important; }
.bridge-destination dl { margin: 23px 0 0; }
.bridge-destination dl > div { padding-top: 12px; margin-top: 12px; border-top: 1px solid #d9e1e5; }
.bridge-destination dt { color: #766038; font-size: 10px; }
.bridge-destination dd { margin: 7px 0 0; font-size: 12px; line-height: 1.5; }
.bridge-demo:has([aria-controls="bridge-0"][aria-pressed="true"]) .bridge-source .bridge-node-label,
.bridge-demo:has([aria-controls="bridge-1"][aria-pressed="true"]) .bridge-node .bridge-node-label,
.bridge-demo:has([aria-controls="bridge-2"][aria-pressed="true"]) .bridge-destination .bridge-node-label { color: #766038; }
.bridge-demo:has([aria-controls="bridge-2"][aria-pressed="true"]) .bridge-destination { border-color: #a28b58; }
.bridge-continuity { margin-top: 48px !important; }
.bridge-continuity ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; list-style: none; margin: 0; padding: 0; }
.bridge-continuity li { position: relative; padding-top: 25px; border-top: 1px solid #5d7180; }
.bridge-continuity li::before { content: ""; position: absolute; width: 7px; height: 7px; top: -4px; left: 0; border-radius: 50%; background: #d8c391; }
.bridge-continuity li:nth-child(2) { border-top-style: dashed; }
.bridge-continuity-time { color: #d8c391; font-size: 10px; line-height: 1.6; }
.bridge-continuity h3 { font-size: 26px; line-height: 1.3; font-weight: 450; letter-spacing: -.03em; margin-top: 20px !important; }
.bridge-continuity p { font-size: 14px; line-height: 1.8; color: #bdcbd4; margin-top: 16px !important; }
.bridge-time-record, .bridge-queue { margin-top: 26px; border: 1px solid #3a5060; border-radius: 10px; padding: 22px; min-height: 132px; }
.bridge-time-record > span { display: block; color: #bdcbd4; font-size: 11px; line-height: 1.6; }
.bridge-time-record strong { display: block; font-size: 24px; font-weight: 400; margin-top: 12px; }
.bridge-time-record small, .bridge-queue small { display: block; color: #bdcbd4; font-size: 10px; line-height: 1.6; margin-top: 12px; }
.bridge-queue > span { display: flex; gap: 12px; font-size: 12px; line-height: 1.6; }
.bridge-queue > span + span { margin-top: 14px; }
.bridge-queue i { display: block; width: 10px; height: 13px; border: 1px solid #d8c391; align-self: center; }
.bridge-continuity figcaption { font-size: 11px; color: #bdcbd4; line-height: 1.7; margin-top: 28px; max-width: 95ch; }
.bridge-interfaces { border-block: 1px solid #cdd6d8; margin-top: 40px; max-width: 820px; }
.bridge-interfaces summary { cursor: pointer; min-height: 48px; padding-block: 18px; font-size: 14px; }
.bridge-interfaces p { font-size: 14px; line-height: 1.8; color: #52616c; padding-bottom: 23px; max-width: 80ch; }

@media (max-width: 1100px) {
  .company-perspective-copy { padding-block: 52px; }
  .company-field-picture { min-height: 580px; }
  .bridge-connection-map { grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1fr) 26px minmax(0, 1.1fr); gap: 8px; }
  .bridge-destination { padding: 22px; }
  .bridge-continuity ol { gap: 26px; }
  .bridge-time-record, .bridge-queue { padding: 18px; }
}
@media (max-width: 820px) {
  .company-offer-paths { gap: 7%; }
  .company-principle-list article { grid-template-columns: 28px minmax(0, 1fr) minmax(0, 1fr); column-gap: 4%; }
  .company-principle-list h3 { font-size: 24px; }
  .bridge-connection-map { grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1.15fr); }
  .bridge-source-drawing, .bridge-node-mark { height: 100px; }
  .bridge-source-drawing svg { height: 95px; }
  .bridge-node-mark svg { width: 118px; height: 104px; }
  .bridge-source h3 { font-size: 21px; }
  .bridge-node { padding-inline: 0; }
  .bridge-node h3 { font-size: 23px; }
  .bridge-node-label { font-size: 9px; }
  .bridge-reading-value { font-size: 38px; }
  .bridge-reading-origin { grid-template-columns: 1fr; gap: 6px; }
  .bridge-reading-origin strong { margin-bottom: 5px; }
  .bridge-node-functions li { gap: 8px; font-size: 10px; }
  .bridge-destination { padding: 20px 17px; }
  .bridge-continuity ol { gap: 22px; }
  .bridge-continuity h3 { font-size: 23px; }
  .bridge-time-record, .bridge-queue { padding: 18px 15px; }
}
@media (max-width: 760px) {
  .company-perspective { grid-template-columns: 1fr; }
  .company-field-picture { min-height: 0; aspect-ratio: 1.7; }
  .company-perspective-copy { padding: 38px var(--public-gutter) 48px; }
  .company-perspective-copy h2 { max-width: 19ch; }
  .company-perspective-copy > p:not(.solution-eyebrow) { max-width: 55ch; }
}
@media (max-width: 600px) {
  .company-offer-paths { grid-template-columns: 1fr; gap: 38px; margin-top: 32px; }
  .company-offer-paths h3 { font-size: 32px; }
  .company-offer-paths p { font-size: 15px; }
  .company-principle-list { margin-top: 30px; }
  .company-principle-list article { grid-template-columns: 24px 1fr; gap: 15px 20px; padding-block: 26px; }
  .company-principle-list p { grid-column: 2; font-size: 14px; }
  .bridge-connection-map { grid-template-columns: 1fr; gap: 14px; }
  .bridge-source { position: relative; padding: 12px 0 0; }
  .bridge-source-drawing { position: absolute; top: 37px; right: 0; width: 43%; }
  .bridge-source h3 { margin-top: 25px !important; }
  .bridge-source .bridge-reading-value { font-size: 42px; }
  .bridge-source > p { margin-top: 20px !important; }
  .bridge-reading-origin { grid-template-columns: 65px 1fr; padding-top: 16px; margin-top: 16px; gap: 6px 18px; }
  .bridge-reading-origin strong { margin-bottom: 0; }
  .bridge-map-link { height: 46px; }
  .bridge-map-link svg { transform: rotate(90deg); width: 46px; }
  .bridge-node { display: grid; grid-template-columns: 120px 1fr; gap: 16px 24px; text-align: left; padding: 18px 0; }
  .bridge-node > .bridge-node-label { grid-column: 1 / -1; font-size: 10px; }
  .bridge-node-mark { grid-row: 2 / 4; margin: 0; align-self: center; }
  .bridge-node h3 { font-size: 25px; }
  .bridge-node-functions { grid-column: 2; margin-top: 0; }
  .bridge-node-functions li { font-size: 11px; }
  .bridge-destination { padding: 24px; }
  .bridge-destination .bridge-node-label { font-size: 10px; }
  .bridge-destination dl { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
  .bridge-destination dl > div:first-child { grid-column: 1 / -1; }
  .bridge-destination dl > div { margin: 0; }
  .bridge-continuity { margin-top: 32px !important; }
  .bridge-continuity ol { grid-template-columns: 1fr; gap: 28px; }
  .bridge-continuity h3 { font-size: 27px; }
  .bridge-time-record, .bridge-queue { max-width: 390px; min-height: 0; padding: 23px; }
  .bridge-interfaces { margin-top: 30px; }
}
@media (max-width: 359px) {
  .company-maker { gap: 12px; }
  .company-maker small { font-size: 9px; }
  .company-field-picture { aspect-ratio: 1.4; }
  .bridge-source-drawing { width: 40%; top: 48px; }
  .bridge-node { grid-template-columns: 86px 1fr; gap: 16px 18px; }
  .bridge-node-mark svg { width: 86px; height: 86px; }
  .bridge-node-functions li { font-size: 10px; }
}
