.bia-section { --bia-accent: var(--blue); padding-block: 100px 90px; background: #fff; color: var(--ink); border-top: 1px solid var(--line); }
.bia-section .eyebrow, .bia-section .small-label { color: var(--blue); }
.bia-section :focus-visible { outline-color: var(--blue); }
.bia-topline { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 42px; }
.bia-topline .eyebrow { margin: 0; }
.bia-badge { border: 1px solid var(--line); background: var(--pale); padding: 6px 13px; border-radius: 30px; font-size: 11px; color: var(--blue); }
.bia-heading { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: center; gap: 90px; }
.bia-heading-copy { max-width: 720px; }
.bia-heading h2 { font-size: clamp(34px, 4vw, 50px); }
.bia-intro { max-width: 650px; margin-top: 28px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.bia-brand { padding: 26px 0; text-align: center; }
.bia-wordmark { width: 310px; max-width: 100%; margin-inline: auto; }
.bia-brand-label { color: var(--ink); font-size: 13px; font-weight: 600; margin-top: 18px; }
.bia-questions { margin-top: 48px; }
.bia-questions > .small-label { margin-bottom: 20px; font-size: 10px; }
.bia-question-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.bia-question { position: relative; min-width: 0; padding: 30px 32px; border: 1px solid var(--line); background: #f5f9fc; border-radius: 6px; }
.bia-question-symbol { display: block; color: var(--blue); font-size: 27px; line-height: 1; margin-bottom: 24px; }
.bia-question h3 { font-size: 27px; line-height: 1.22; max-width: 440px; }
.bia-question p { font-size: 15px; color: var(--muted); margin-top: 16px; max-width: 440px; }
.bia-foundations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; margin-top: 44px; }
.bia-foundations article { min-width: 0; padding-top: 22px; border-top: 1px solid var(--line); }
.bia-foundations .small-label { font-size: 10px; margin-bottom: 15px; }
.bia-foundations h3 { font-size: 23px; line-height: 1.25; }
.bia-foundations p { font-size: 14px; color: var(--muted); margin-top: 14px; }
.bia-architecture { margin-top: 48px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.bia-architecture > summary { display: flex; justify-content: space-between; align-items: center; gap: 26px; padding: 25px 30px; cursor: pointer; list-style: none; }
.bia-architecture > summary::-webkit-details-marker { display: none; }
.bia-architecture > summary:hover { background: #f5f9fc; }
.bia-summary-title { display: block; font-size: 19px; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.bia-summary-description { display: block; font-size: 13px; color: var(--muted); margin-top: 6px; }
.bia-details-toggle { position: relative; flex-shrink: 0; width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; }
.bia-details-toggle::before, .bia-details-toggle::after { content: ''; position: absolute; width: 10px; height: 1px; top: 10px; left: 6px; background: var(--blue); }
.bia-details-toggle::after { transform: rotate(90deg); }
.bia-architecture[open] .bia-details-toggle::after { transform: rotate(0); }
.bia-architecture[open] > summary { border-bottom: 1px solid var(--line); background: #f5f9fc; }
.bia-architecture-body { padding: 34px 30px 30px; }
.bia-flow-heading, .bia-options-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 45px; }
.bia-flow-heading h3, .bia-options-heading h3 { font-size: 26px; max-width: 530px; }
.bia-flow-heading > p, .bia-options-heading > p { max-width: 355px; font-size: 13px; color: var(--muted); }
.bia-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 26px; }
.bia-flow > li { position: relative; min-width: 0; padding: 23px 18px; background: #f5f9fc; border: 1px solid var(--line); border-radius: 4px; }
.bia-flow > li:not(:last-child)::after { content: '→'; position: absolute; right: -22px; top: 25px; z-index: 1; color: var(--blue); font-size: 21px; line-height: 1; }
.bia-step-number { display: block; margin-bottom: 22px; font-size: 11px; line-height: 1; letter-spacing: .08em; color: var(--blue); }
.bia-section h4 { margin: 0; font-weight: 500; line-height: 1.25; letter-spacing: -.025em; text-wrap: balance; }
.bia-flow h4 { font-size: 20px; margin-bottom: 14px; }
.bia-flow p { font-size: 13px; color: var(--muted); }
.bia-reuse { display: flex; gap: 16px; align-items: center; margin-top: 22px; font-size: 13px; color: var(--muted); }
.bia-reuse-symbol { flex-shrink: 0; color: var(--blue); font-size: 26px; line-height: 1; }
.bia-options-heading { margin-top: 40px; }
.bia-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 26px; }
.bia-option { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: 4px; background: #fff; }
.bia-option .small-label { font-size: 10px; }
.bia-option h4 { font-size: 25px; margin-block: 18px; }
.bia-option > p:not(.small-label) { font-size: 14px; color: var(--muted); }
.bia-option > .bia-option-note { margin-top: auto; padding-top: 20px; font-size: 12px; }
.bia-controls { display: grid; grid-template-columns: 1fr 1.7fr; gap: 55px; margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
.bia-controls .eyebrow { font-size: 9px; margin-bottom: 14px; }
.bia-controls h3 { font-size: 26px; }
.bia-controls ul { display: grid; gap: 13px; font-size: 13px; color: var(--muted); }
.bia-controls li { padding-left: 21px; position: relative; }
.bia-controls li::before { content: '+'; position: absolute; left: 0; color: var(--blue); }
.bia-start { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 45px; margin-top: 38px; padding: 32px; background: var(--pale); border: 1px solid var(--line); border-radius: 6px; }
.bia-start h3 { font-size: 26px; margin-bottom: 14px; }
.bia-start p { max-width: 700px; font-size: 14px; color: var(--muted); }
.bia-start .button { align-self: center; white-space: nowrap; }
.bia-related { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-top: 28px; }
.bia-related p { max-width: 700px; font-size: 14px; color: var(--muted); }
.bia-related .text-link { flex-shrink: 0; }
@media (max-width: 1080px) {
  .bia-heading { grid-template-columns: minmax(0, 1fr) 280px; gap: 50px; }
  .bia-wordmark { width: 280px; }
  .bia-foundations { gap: 30px; }
  .bia-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bia-flow > li { padding: 24px; }
  .bia-flow > li:nth-child(2)::after { content: none; }
  .bia-controls { gap: 35px; }
  .bia-related { align-items: flex-start; gap: 25px; }
}
@media (max-width: 900px) {
  .bia-heading { grid-template-columns: minmax(0, 1fr) 260px; gap: 35px; }
  .bia-wordmark { width: 260px; }
  .bia-start { grid-template-columns: 1fr; gap: 24px; }
  .bia-start .button { justify-self: start; }
  .bia-related { flex-direction: column; gap: 8px; }
}
@media (max-width: 760px) {
  .bia-section { padding-block: 72px 65px; }
  .bia-topline { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 30px; }
  .bia-topline .eyebrow { font-size: 9px; }
  .bia-badge { font-size: 10px; }
  .bia-heading { grid-template-columns: 1fr; gap: 28px; }
  .bia-heading h2 { font-size: 37px; }
  .bia-intro { font-size: 17px; margin-top: 22px; }
  .bia-brand { width: min(100%, 290px); padding: 0; text-align: left; }
  .bia-wordmark { width: 270px; margin-inline: 0; }
  .bia-brand-label { margin-top: 12px; font-size: 12px; }
  .bia-questions { margin-top: 36px; }
  .bia-question-grid { grid-template-columns: 1fr; gap: 18px; }
  .bia-question { padding: 26px; }
  .bia-question-symbol { margin-bottom: 18px; }
  .bia-question h3 { font-size: 26px; }
  .bia-question p { font-size: 14px; margin-top: 14px; }
  .bia-foundations { grid-template-columns: 1fr; gap: 26px; margin-top: 34px; }
  .bia-foundations article { padding-top: 18px; }
  .bia-foundations .small-label { margin-bottom: 12px; }
  .bia-foundations p { margin-top: 12px; }
  .bia-architecture { margin-top: 36px; }
  .bia-architecture > summary { padding: 22px; gap: 20px; }
  .bia-summary-title { font-size: 18px; }
  .bia-summary-description { font-size: 12px; }
  .bia-architecture-body { padding: 26px 22px; }
  .bia-flow-heading, .bia-options-heading { display: block; }
  .bia-flow-heading > p, .bia-options-heading > p { max-width: 100%; margin-top: 15px; }
  .bia-flow-heading h3, .bia-options-heading h3 { font-size: 25px; }
  .bia-flow { grid-template-columns: 1fr; gap: 22px; }
  .bia-flow > li { padding: 22px; }
  .bia-flow > li:not(:last-child)::after { content: '↓'; right: 21px; top: auto; bottom: -22px; }
  .bia-step-number { margin-bottom: 16px; }
  .bia-flow h4 { font-size: 22px; margin-bottom: 10px; }
  .bia-flow p { font-size: 14px; color: var(--muted); }
  .bia-reuse { align-items: flex-start; }
  .bia-reuse-symbol { padding-top: 3px; }
  .bia-options-heading { margin-top: 34px; }
  .bia-options { grid-template-columns: 1fr; gap: 22px; }
  .bia-option { padding: 24px; }
  .bia-option h4 { font-size: 25px; margin-block: 16px; }
  .bia-controls { grid-template-columns: 1fr; gap: 24px; margin-top: 30px; padding-top: 26px; }
  .bia-controls h3 { font-size: 25px; }
  .bia-start { margin-top: 30px; padding: 26px; }
  .bia-start h3 { font-size: 25px; }
  .bia-start .button { white-space: normal; }
  .bia-related { margin-top: 24px; }
  .bia-related .text-link { flex-shrink: 1; }
}
@media (max-width: 390px) {
  .bia-heading h2 { font-size: 34px; }
  .bia-question, .bia-start { padding-inline: 22px; }
  .bia-architecture > summary { padding-inline: 18px; }
  .bia-architecture-body { padding-inline: 18px; }
  .bia-flow > li, .bia-option { padding-inline: 18px; }
}
