


.layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  flex: 1;
}
.layout__main {
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex: 1;
}
.layout__body {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  padding-top: 32px;
  padding-bottom: 48px;
}
.layout__content { flex: 1 1 auto; min-width: 0; }
.layout__footer { width: 100%; }
.layout__sidebar { flex: 0 0 320px; position: sticky; top: 96px; }

.spread {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
.spread--narrow { width: 820px; }

section { flex: 1 1 auto; padding: 24px 16px; }
.layout__content > section { padding-left: 0; padding-right: 0; }
.layout__content > section:first-child { padding-top: 0; }


.colophon {
  background: var(--plum-deep);
  color: #d9cfe0;
  padding: 48px 16px 0;
  margin-top: auto;
}
.colophon__columns {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  padding-bottom: 32px;
}
.colophon__title {
  font-size: 15px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 16px;
}
.colophon__list { list-style: none; margin: 0; padding: 0; }
.colophon__list li { margin-bottom: 8px; }
.colophon__list a, .colophon__contact a { color: #d9cfe0; font-size: 15px; }
.colophon__list a:hover, .colophon__contact a:hover { color: #ffffff; }
.colophon__contact p { color: #d9cfe0; font-size: 15px; }
.colophon__mark { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.colophon__mark img { height: 32px; width: auto; }
.colophon__mark span { font-size: 18px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: #ffffff; }
.colophon__note { font-size: 13px; color: #a898ae; line-height: 1.5; }
.colophon__legal-bar {
  border-top: 1px solid #3f2039;
  padding: 16px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 13px;
}
.colophon__legal-bar a { color: #b8a7bd; }
.colophon__disclaimer {
  border-top: 1px solid #3f2039;
  padding: 16px;
  text-align: center;
  font-size: 13px;
  color: #a898ae;
  line-height: 1.5;
}
.colophon__copy { padding: 0 16px 24px; text-align: center; font-size: 13px; color: #8d7b92; }


@media (max-width: 1024px) {
  .spread { width: 100%; padding-left: 16px; padding-right: 16px; }
  .layout__sidebar { flex: 0 0 280px; }
  .colophon__columns { grid-template-columns: repeat(2, 1fr); }
  h1 { font-size: 38px; }
  h2 { font-size: 27px; }
}


@media (max-width: 768px) {
  .layout__body { flex-direction: column; padding-top: 24px; }
  .layout__sidebar { position: static; flex: 1 1 auto; width: 100%; }
  .colophon__columns { grid-template-columns: 1fr; gap: 24px; }
  h1 { font-size: 30px; }
  h2 { font-size: 23px; }
  h3 { font-size: 19px; }
}
