/*
  Shared lower-page layer: one company console, different information files.
  Keep content readable first; the electronic language stays on the frame edge,
  controls, and state changes rather than crossing the copy.
*/

.subpage-panel {
  min-height: 650px;
}

.subpage-panel .panel-lead {
  max-width: 33ch;
}

.subpage-intro {
  max-width: 68ch;
  margin-top: 30px;
  color: #445e62;
  font-size: 17px;
  line-height: 2;
}

.subpage-intro strong {
  color: #18333b;
  font-weight: 500;
}

.subpage-rows {
  margin-top: 43px;
  border-top: 1px solid rgba(26, 78, 86, 0.2);
}

.subpage-row {
  padding: 23px 0 25px;
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr);
  gap: 28px;
  border-bottom: 1px solid rgba(26, 78, 86, 0.2);
}

.subpage-row h3,
.legal-section h3,
.news-item h3 {
  color: #183f48;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.6;
}

.subpage-row p,
.legal-section p,
.legal-section li,
.news-item p {
  color: #445e62;
  font-size: 16px;
  line-height: 1.95;
}

.subpage-closing {
  margin-top: 42px;
  color: #183f48;
  font-size: clamp(23px, 2.2vw, 31px);
  line-height: 1.7;
}

.subpage-link {
  color: #a74e6b;
  text-underline-offset: 4px;
}

.subpage-link:hover,
.subpage-link:focus-visible {
  color: #b35c78;
}

.legal-copy {
  max-width: 72ch;
  margin-top: 39px;
}

.legal-copy > p:first-child {
  color: #294851;
  font-size: 17px;
  line-height: 2;
}

.legal-section {
  margin-top: 43px;
  padding-top: 24px;
  border-top: 1px solid rgba(26, 78, 86, 0.2);
}

.legal-section h3 {
  margin-bottom: 19px;
  font-size: 22px;
}

.legal-section p + p {
  margin-top: 18px;
}

.legal-section ul,
.legal-section ol {
  margin: 15px 0 0 1.35em;
  display: grid;
  gap: 8px;
}

.legal-section li::marker {
  color: #b35c78;
}

.legal-data {
  border-top: 1px solid rgba(26, 78, 86, 0.2);
}

.legal-data__row {
  padding: 15px 0;
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 24px;
  border-bottom: 1px solid rgba(26, 78, 86, 0.2);
}

.legal-data dt,
.legal-data dd {
  color: #445e62;
  font-size: 15px;
  line-height: 1.85;
}

.legal-data dt {
  color: #50696c;
}

.legal-date {
  margin-top: 39px;
  color: #50696c;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.news-list {
  margin-top: 44px;
  border-top: 1px solid rgba(26, 78, 86, 0.2);
}

.news-item {
  padding: 23px 0 26px;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 26px;
  border-bottom: 1px solid rgba(26, 78, 86, 0.2);
}

.news-item time {
  color: #b35c78;
  font: 14px/1.6 ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0.08em;
}

.news-item h3 {
  font-size: 20px;
}

.news-item p {
  margin-top: 9px;
}

.subpage-panel .panel-signature {
  margin-top: 46px;
}

@media (max-width: 980px) {
  .subpage-row {
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 22px;
  }

  .legal-data__row {
    grid-template-columns: 140px minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .subpage-panel {
    min-height: 0;
  }

  .subpage-intro {
    margin-top: 27px;
    font-size: 16px;
    line-height: 1.95;
  }

  .subpage-rows {
    margin-top: 32px;
  }

  .subpage-row {
    padding: 19px 0 21px;
    display: block;
  }

  .subpage-row h3 {
    font-size: 18px;
  }

  .subpage-row p {
    margin-top: 8px;
    font-size: 15px;
    line-height: 1.9;
  }

  .subpage-closing {
    margin-top: 34px;
    font-size: 22px;
  }

  .legal-copy {
    margin-top: 29px;
  }

  .legal-copy > p:first-child {
    font-size: 16px;
    line-height: 1.95;
  }

  .legal-section {
    margin-top: 34px;
    padding-top: 20px;
  }

  .legal-section h3 {
    margin-bottom: 14px;
    font-size: 20px;
  }

  .legal-section p,
  .legal-section li {
    font-size: 15px;
    line-height: 1.9;
  }

  .legal-data__row {
    padding: 13px 0;
    display: block;
  }

  .legal-data dt,
  .legal-data dd {
    font-size: 14px;
  }

  .legal-data dd {
    margin-top: 5px;
  }

  .legal-date {
    margin-top: 30px;
    font-size: 13px;
  }

  .news-list {
    margin-top: 31px;
  }

  .news-item {
    padding: 19px 0 21px;
    display: block;
  }

  .news-item h3 {
    margin-top: 7px;
    font-size: 18px;
  }

  .news-item p {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .subpage-link,
  .subpage-panel a {
    transition: none;
  }
}
