/* Principles and values: open editorial groups, scoped to one page. */
#page-principios {
  --principles-rule: #ddd6cc;
  --principles-body: #574e5e;
}
#page-principios .principles-width {
  width: min(1160px, calc(100% - 112px));
  margin-inline: auto;
}
#page-principios p {
  font-size: 16px;
  line-height: 1.85;
  color: var(--principles-body);
}
#page-principios h2 {
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.025em;
  margin: 0 0 24px;
}
#page-principios h2[id] { scroll-margin-top: 24px; }
#page-principios .principles-eyebrow {
  color: var(--purple);
  font: 600 16px/1.5 var(--sans);
  letter-spacing: .025em;
  margin: 0 0 20px;
}
#page-principios .principles-opening {
  padding-block: 54px 43px;
  background: #f1ece3;
  border-bottom: 1px solid #e5ddd1;
}
#page-principios .principles-opening-grid {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  align-items: center;
  gap: 65px;
}
#page-principios .principles-opening-copy h1 {
  font-family: var(--serif);
  font-size: clamp(44px, 4.5vw, 62px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
  margin: 0 0 25px;
  max-width: 550px;
}
#page-principios .principles-opening-copy > p {
  font-size: 18px;
  line-height: 1.75;
  max-width: 510px;
  margin: 0;
}
#page-principios .principles-opening-art { margin: 0; min-width: 0; }
#page-principios .principles-opening-art img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.3;
  object-fit: cover;
  border-radius: 3px 58px 3px 3px;
}
#page-principios .principles-opening-art figcaption {
  color: #6e6374;
  font-size: 16px;
  line-height: 1.5;
  text-align: right;
  margin-top: 10px;
}
#page-principios .principles-page-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 23px;
  padding-top: 25px;
  margin-top: 26px;
  border-top: 1px solid #d9cfbf;
}
#page-principios .principles-page-nav button {
  border: 0;
  border-bottom: 1px solid #a898b9;
  background: transparent;
  color: var(--purple);
  padding: 7px 0;
  font: 16px/1.5 var(--sans);
  text-align: left;
  min-height: 44px;
}
#page-principios .principles-page-nav button:hover { border-color: var(--purple); }
#page-principios .principles-main { padding-block: 72px 68px; }
#page-principios .principles-inspiration {
  display: grid;
  grid-template-columns: .75fr 1.65fr;
  gap: 66px;
  margin-bottom: 79px;
}
#page-principios .principles-section-heading { padding-top: 2px; }
#page-principios .principles-inspiration-copy > p { margin: 0 0 21px; }
#page-principios .principles-lead p {
  font-size: 21px;
  line-height: 1.65;
  color: #41304f;
  margin: 0 0 26px;
}
#page-principios .principles-open-door {
  border-left: 3px solid var(--yellow);
  margin-top: 29px;
  padding: 3px 0 3px 25px;
}
#page-principios .principles-open-door p {
  color: var(--purple);
  font-size: 18px;
  line-height: 1.8;
  margin: 0;
}
#page-principios .principles-values-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 31px;
}
#page-principios .principles-values-title h2 { margin: 0; }
#page-principios .principles-values-title > p {
  max-width: 330px;
  margin: 0 0 2px;
  font-size: 16px;
  line-height: 1.7;
}
#page-principios .principles-group {
  display: grid;
  grid-template-columns: .68fr 2fr;
  gap: 45px;
  padding: 36px 34px 20px;
  margin-bottom: 22px;
  border-radius: 3px;
  border-top: 1px solid transparent;
}
#page-principios .principles-group-integrity { background: #f4eee2; border-color: #e8ddc9; }
#page-principios .principles-group-care { background: #f0eaf4; border-color: #e1d6e9; }
#page-principios .principles-group-growth { background: #edf1e8; border-color: #dce5d4; }
#page-principios .principles-group-number {
  display: block;
  color: #7c698b;
  font: 42px/1 var(--serif);
  letter-spacing: -.025em;
  margin-bottom: 22px;
}
#page-principios .principles-group-heading h3 {
  font: 400 29px/1.22 var(--serif);
  letter-spacing: -.02em;
  color: var(--purple);
  margin: 0;
  max-width: 220px;
}
#page-principios .principles-values-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 32px;
  row-gap: 0;
  padding: 0;
  margin: 0;
}
#page-principios .principles-value {
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 14px;
  padding: 2px 0 25px;
  margin: 0 0 24px;
  border-bottom: 1px solid #cfc4d14f;
  min-width: 0;
}
#page-principios .principles-value:nth-last-child(-n+2) { border-bottom: 0; margin-bottom: 0; }
#page-principios .principles-value-icon { color: var(--purple); padding-top: 1px; }
#page-principios .principles-value-icon svg { width: 31px; height: 31px; }
#page-principios .principles-group-integrity .principles-value-icon { color: #8f6328; }
#page-principios .principles-group-growth .principles-value-icon { color: #4c6a3c; }
#page-principios .principles-value h4 {
  font: 400 23px/1.28 var(--serif);
  letter-spacing: -.015em;
  color: var(--purple);
  margin: 0 0 11px;
}
#page-principios .principles-value h4 strong { font: inherit; }
#page-principios .principles-value p {
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  color: #5f5267;
}
#page-principios .principles-faith {
  display: grid;
  grid-template-columns: .75fr 1.65fr;
  gap: 66px;
  padding-block: 42px;
  margin-top: 33px;
  border-block: 1px solid var(--principles-rule);
}
#page-principios .principles-faith h3 {
  font: 400 32px/1.2 var(--serif);
  letter-spacing: -.02em;
  color: var(--purple);
  margin: 0;
}
#page-principios .principles-faith-lead p {
  font: 26px/1.45 var(--serif);
  color: var(--purple);
  margin: 0 0 23px;
}
#page-principios .principles-faith-copy > p { font-size: 16px; line-height: 1.85; margin: 0; }
#page-principios .principles-service { margin-top: 78px; }
#page-principios .principles-service-intro {
  display: grid;
  grid-template-columns: .75fr 1.65fr;
  gap: 66px;
  align-items: start;
  margin-bottom: 38px;
}
#page-principios .principles-service-intro h2 { margin-bottom: 0; }
#page-principios .principles-service-intro > p {
  font-size: 19px;
  line-height: 1.75;
  color: #49364f;
  margin: 0;
}
#page-principios .principles-service-rows { border-top: 1px solid var(--principles-rule); }
#page-principios .principles-service-row {
  display: grid;
  grid-template-columns: .75fr 1.65fr;
  gap: 66px;
  padding-block: 28px;
  border-bottom: 1px solid var(--principles-rule);
}
#page-principios .principles-service-row h3 {
  font: 400 25px/1.3 var(--serif);
  letter-spacing: -.015em;
  color: var(--purple);
  margin: 0;
}
#page-principios .principles-service-row p { margin: 0 0 18px; }
#page-principios .principles-service-row p:last-child { margin-bottom: 0; }
#page-principios .principles-closing {
  max-width: 850px;
  border-left: 3px solid var(--yellow);
  padding: 4px 0 4px 29px;
  margin: 44px auto 0;
}
#page-principios .principles-closing p {
  color: var(--purple);
  font: 30px/1.45 var(--serif);
  letter-spacing: -.015em;
  margin: 0;
}
#page-principios .principles-next {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 30px;
  border-top: 1px solid var(--principles-rule);
  padding-top: 25px;
  margin-top: 55px;
}
#page-principios .principles-next .text-link { font-size: 16px; margin: 0; }
#page-principios .principles-next .text-link span { font: inherit; }

@media (max-width: 1180px) {
  #page-principios .principles-width { width: calc(100% - 72px); }
  #page-principios .principles-opening-grid { gap: 42px; }
  #page-principios .principles-inspiration,
  #page-principios .principles-faith,
  #page-principios .principles-service-intro,
  #page-principios .principles-service-row { gap: 42px; }
  #page-principios .principles-group { grid-template-columns: .65fr 2fr; gap: 30px; padding: 31px 28px 17px; }
  #page-principios .principles-group-heading h3 { font-size: 27px; }
  #page-principios .principles-values-list { column-gap: 25px; }
  #page-principios .principles-value { grid-template-columns: 29px minmax(0, 1fr); gap: 12px; }
  #page-principios .principles-value-icon svg { width: 29px; height: 29px; }
  #page-principios .principles-value h4 { font-size: 22px; }
}
@media (max-width: 900px) {
  #page-principios .principles-width { width: calc(100% - 56px); }
  #page-principios .principles-opening-grid { gap: 30px; }
  #page-principios .principles-opening-copy h1 { font-size: 46px; }
  #page-principios .principles-opening-copy > p { font-size: 16px; }
  #page-principios .principles-opening-art img { aspect-ratio: .94; }
  #page-principios .principles-page-nav { gap: 4px 18px; padding-top: 18px; margin-top: 22px; }
  #page-principios .principles-main { padding-block: 55px; }
  #page-principios .principles-inspiration,
  #page-principios .principles-faith,
  #page-principios .principles-service-intro,
  #page-principios .principles-service-row { grid-template-columns: 1fr; gap: 23px; }
  #page-principios .principles-inspiration { margin-bottom: 58px; }
  #page-principios .principles-section-heading h2 { margin-bottom: 0; }
  #page-principios .principles-values-title { display: block; }
  #page-principios .principles-values-title > p { max-width: none; margin-top: 18px; }
  #page-principios .principles-group { grid-template-columns: 1fr; gap: 28px; padding: 30px 29px 15px; }
  #page-principios .principles-group-heading { display: flex; gap: 20px; align-items: center; }
  #page-principios .principles-group-number { margin: 0; font-size: 38px; }
  #page-principios .principles-group-heading h3 { max-width: none; font-size: 29px; }
  #page-principios .principles-value h4 { font-size: 24px; }
  #page-principios .principles-faith { padding-block: 34px; }
  #page-principios .principles-faith h3 { max-width: 490px; }
  #page-principios .principles-service { margin-top: 56px; }
  #page-principios .principles-service-intro { margin-bottom: 29px; }
  #page-principios .principles-service-row { gap: 20px; }
}
@media (max-width: 650px) {
  #page-principios .principles-width { width: calc(100% - 40px); }
  #page-principios p { font-size: 16px; line-height: 1.85; }
  #page-principios h2 { font-size: 34px; line-height: 1.2; }
  #page-principios .principles-eyebrow { font-size: 16px; margin-bottom: 17px; }
  #page-principios .principles-opening { padding-block: 35px 28px; }
  #page-principios .principles-opening-grid { grid-template-columns: 1fr; gap: 29px; }
  #page-principios .principles-opening-copy h1 { font-size: 43px; line-height: 1.1; margin-bottom: 22px; }
  #page-principios .principles-opening-copy > p { font-size: 16px; line-height: 1.8; }
  #page-principios .principles-page-nav { padding-top: 17px; margin-top: 22px; gap: 4px 20px; }
  #page-principios .principles-page-nav button { font-size: 16px; min-height: 44px; }
  #page-principios .principles-opening-art img { aspect-ratio: 1.3; border-top-right-radius: 44px; }
  #page-principios .principles-opening-art figcaption { font-size: 16px; margin-top: 9px; }
  #page-principios .principles-main { padding-block: 42px 46px; }
  #page-principios .principles-inspiration { gap: 23px; margin-bottom: 47px; }
  #page-principios .principles-lead p { font-size: 19px; line-height: 1.7; }
  #page-principios .principles-inspiration-copy > p { margin-bottom: 20px; }
  #page-principios .principles-open-door { margin-top: 26px; padding-left: 20px; }
  #page-principios .principles-open-door p { font-size: 17px; line-height: 1.8; }
  #page-principios .principles-values-title { margin-bottom: 26px; }
  #page-principios .principles-values-title > p { font-size: 16px; margin-top: 16px; }
  #page-principios .principles-group { padding: 25px 23px 6px; gap: 27px; margin-bottom: 19px; }
  #page-principios .principles-group-heading { align-items: flex-start; gap: 15px; }
  #page-principios .principles-group-number { font-size: 34px; padding-top: 2px; }
  #page-principios .principles-group-heading h3 { font-size: 28px; line-height: 1.2; }
  #page-principios .principles-values-list { grid-template-columns: 1fr; }
  #page-principios .principles-value { grid-template-columns: 31px minmax(0, 1fr); gap: 14px; padding-bottom: 23px; margin-bottom: 23px; }
  #page-principios .principles-value:nth-last-child(2) { border-bottom: 1px solid #cfc4d14f; margin-bottom: 23px; }
  #page-principios .principles-value:last-child { border-bottom: 0; margin-bottom: 0; }
  #page-principios .principles-value-icon svg { width: 31px; height: 31px; }
  #page-principios .principles-value h4 { font-size: 25px; line-height: 1.25; margin-bottom: 11px; }
  #page-principios .principles-value p { font-size: 16px; line-height: 1.75; }
  #page-principios .principles-faith { gap: 24px; margin-top: 27px; padding-block: 30px; }
  #page-principios .principles-faith h3 { font-size: 31px; }
  #page-principios .principles-faith-lead p { font-size: 24px; line-height: 1.5; margin-bottom: 22px; }
  #page-principios .principles-faith-copy > p { font-size: 16px; line-height: 1.85; }
  #page-principios .principles-service { margin-top: 45px; }
  #page-principios .principles-service-intro { gap: 24px; margin-bottom: 27px; }
  #page-principios .principles-service-intro > p { font-size: 18px; line-height: 1.8; }
  #page-principios .principles-service-row { gap: 19px; padding-block: 25px; }
  #page-principios .principles-service-row h3 { font-size: 27px; }
  #page-principios .principles-service-row p { font-size: 16px; line-height: 1.85; }
  #page-principios .principles-closing { margin-top: 33px; padding-left: 22px; }
  #page-principios .principles-closing p { font-size: 26px; line-height: 1.45; }
  #page-principios .principles-next { padding-top: 20px; margin-top: 39px; gap: 15px 26px; }
  #page-principios .principles-next .text-link { font-size: 16px; }
}
@media print {
  #page-principios .principles-page-nav,
  #page-principios .principles-next { display: none; }
  #page-principios .principles-width { width: 100%; }
  #page-principios .principles-group { break-inside: avoid; }
  #page-principios .principles-opening-art { max-width: 340px; }
}
