.ai-section {
  background: #edf5f8;
  border-block: 1px solid #dae7ee;
}
.ai-layout {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  align-items: center;
  gap: 72px;
}
.ai-copy {min-width: 0}
.ai-copy h2 {font-size: clamp(36px, 3.7vw, 51px); line-height: 1.12}
.ai-copy h2 > span {color: var(--blue)}
.ai-copy > p {font-size: 16px; line-height: 1.85; margin: 20px 0}
.ai-copy > .ai-lead {color: var(--ink); font-size: 20px; line-height: 1.5; margin-top: 27px}
.ai-source-note {
  display: flex;
  gap: 16px;
  padding-block: 23px;
  margin: 26px 0 10px;
  border-top: 1px solid #c1d8e4;
}
.ai-source-note > svg {width: 31px; height: 34px; flex: 0 0 31px}
.ai-source-note h3 {font-size: 17px; letter-spacing: -.02em; line-height: 1.4}
.ai-source-note p {font-size: 14px; line-height: 1.8; margin-top: 8px}
.ai-copy .text-link {font-size: 15px; gap: 16px; line-height: 1.5}
.ai-section svg {fill: none; stroke: #276887; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round}
.ai-service-model {margin: 0; min-width: 0}
.ai-model-heading {display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px}
.ai-model-heading .tiny-logo {font-size: 26px}
.ai-model-heading > span:last-child {font-size: 12px; font-weight: 600; letter-spacing: .08em; color: #526f81; text-align: right}
.ai-access-paths {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px}
.ai-access {
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 24px;
  background: #fff;
  border: 1px solid #c5dce8;
  border-radius: 6px;
}
.ai-access::after {content: ""; position: absolute; left: 50%; top: 100%; height: 28px; border-left: 1px solid #5d9cb9}
.ai-access-number {font-size: 12px; font-weight: 600; letter-spacing: .07em; color: #467d97}
.ai-access .ai-access-icon {width: 83px; height: 64px; margin: 22px 0 19px; stroke-width: 1.7}
.ai-icon-accent {stroke: #32a4c7}
.ai-access h3 {font-size: 23px; line-height: 1.2; letter-spacing: -.035em}
.ai-access p {font-size: 14px; line-height: 1.8; margin: 14px 0 22px}
.ai-path-label {margin-top: auto; padding-top: 12px; border-top: 1px solid #e1ebf0; font-size: 12px; line-height: 1.5; color: #40718a}
.ai-common-service {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  margin-top: 28px;
  padding: 22px 18px;
  border: 1px solid #80b3c5;
  border-radius: 5px;
  background: #def0f3;
}
.ai-common-service > svg {width: 29px; height: 34px; flex-shrink: 0; stroke: #287d8c}
.ai-common-service h3 {font-size: 18px; line-height: 1.4; letter-spacing: -.02em}
.ai-common-service p {font-size: 13px; line-height: 1.7; margin-top: 4px; color: #386479}
.ai-data-link {font-size: 24px; line-height: 34px; height: 34px; color: #4c8ca9; text-align: center}
.ai-project-data {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 23px 18px;
  background: var(--navy);
  color: #fff;
  border-radius: 5px;
}
.ai-project-data > svg {width: 35px; height: 38px; flex-shrink: 0; stroke: #8acbe5}
.ai-project-data h3 {font-size: 20px; letter-spacing: -.02em; line-height: 1.4}
.ai-project-data p {font-size: 13px; color: #bfdae6; line-height: 1.7; margin-top: 5px}
.ai-service-model figcaption {font-size: 12px; line-height: 1.7; color: #58798b; margin-top: 16px; text-align: center}
.ai-adaptation {
  display: grid;
  grid-template-columns: .8fr 1.4fr 1fr;
  align-items: center;
  gap: 32px;
  margin-top: 50px;
  padding-top: 25px;
  border-top: 1px solid #c6dce6;
}
.ai-adaptation > span {font-size: 12px; line-height: 1.7; letter-spacing: .08em; color: #21759d; font-weight: 600}
.ai-adaptation p {font-size: 14px; line-height: 1.8}
.ai-adaptation a {font-size: 13px; line-height: 1.6; font-weight: 600; justify-self: end}
.ai-adaptation a > span {margin-left: 8px}
.ai-adaptation a:hover {text-decoration: underline}
@media (max-width: 1100px) {
  .ai-layout {gap: 38px; grid-template-columns: .85fr 1.15fr}
  .ai-access {padding: 20px 17px}
  .ai-access h3 {font-size: 21px}
  .ai-access-paths {gap: 14px}
  .ai-adaptation {gap: 24px}
}
@media (max-width: 900px) {
  .ai-layout {grid-template-columns: 1fr; gap: 40px}
  .ai-copy {max-width: 620px}
  .ai-copy h2 {font-size: 40px}
  .ai-service-model {width: 100%; max-width: 660px; margin-inline: auto}
  .ai-access {padding: 25px}
  .ai-access h3 {font-size: 25px}
  .ai-access p {font-size: 15px}
  .ai-adaptation {grid-template-columns: 1fr 2fr; gap: 16px 25px}
  .ai-adaptation a {grid-column: 2; justify-self: start}
}
@media (max-width: 600px) {
  .ai-copy h2 {font-size: 36px}
  .ai-copy > .ai-lead {font-size: 19px}
  .ai-copy > p {font-size: 16px}
  .ai-copy .text-link {font-size: 14px}
  .ai-model-heading {align-items: flex-start}
  .ai-model-heading > span:last-child {font-size: 12px; max-width: 125px; line-height: 1.7}
  .ai-access-paths {grid-template-columns: 1fr; gap: 14px}
  .ai-access {padding: 22px; display: grid; grid-template-columns: 1fr 58px; column-gap: 10px}
  .ai-access-number {grid-column: 1}
  .ai-access .ai-access-icon {grid-column: 2; grid-row: 1 / 3; width: 58px; height: 51px; margin: 0; align-self: center}
  .ai-access h3 {grid-column: 1; font-size: 24px; margin-top: 13px}
  .ai-access p, .ai-path-label {grid-column: 1 / -1}
  .ai-access p {margin-bottom: 16px}
  .ai-access::after {display: none}
  .ai-common-service {margin-top: 22px; padding: 20px 15px; gap: 12px}
  .ai-common-service h3 {font-size: 16px}
  .ai-common-service p {font-size: 12px}
  .ai-project-data {padding: 22px 16px; gap: 15px}
  .ai-project-data h3 {font-size: 19px}
  .ai-project-data p {font-size: 12px}
  .ai-adaptation {grid-template-columns: 1fr; gap: 12px; margin-top: 35px}
  .ai-adaptation a {grid-column: auto; font-size: 14px}
}
