/* Fotografías elegidas por Alonso: 08, 26, 33, 41 y 42. */
.about-portrait img { object-position: center 12%; }
.contact-portrait img { object-position: center 20%; }

.session-panel {
  grid-template-columns: minmax(180px, .75fr) minmax(0, 1.3fr) minmax(255px, 1fr);
  gap: 34px;
  padding: 36px;
  align-items: center;
}
.session-portrait { min-width: 0; overflow: hidden; border-radius: 9px; }
.session-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.session-copy h2 { font-size: 43px; }
.session-copy > p:not(.eyebrow) { font-size: 14px; }
.session-price { padding-left: 30px; }

.services-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 66px; align-items: center; margin-top: 32px; }
.services-portrait { overflow: hidden; border-radius: 11px; }
.services-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
.services-layout .service-grid { grid-template-columns: 1fr; gap: 28px; margin-top: 0; }
.services-layout .service:first-child { padding-bottom: 27px; border-bottom: 1px solid #cedbec; }
.services-layout .service p { max-width: 620px; }

.speaking-grid { display: grid; grid-template-columns: 176px minmax(0, 1fr) auto; gap: 34px; }
.speaking-portrait { overflow: hidden; border-radius: 9px; }
.speaking-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%; }
.speaking h2 { font-size: 33px; }

@media (max-width: 1150px) {
  .session-panel { grid-template-columns: 175px minmax(0, 1fr) minmax(220px, .85fr); padding: 28px; gap: 25px; }
  .session-copy h2 { font-size: 36px; }
  .session-copy > p:not(.eyebrow) { font-size: 12px; }
  .session-price { padding-left: 24px; }
  .services-layout { grid-template-columns: 265px minmax(0, 1fr); gap: 45px; }
  .speaking-grid { grid-template-columns: 144px minmax(0, 1fr) auto; gap: 25px; }
  .speaking h2 { font-size: 29px; }
}
@media (max-width: 900px) {
  .session-panel { grid-template-columns: minmax(175px, .7fr) minmax(0, 1.3fr); gap: 24px 30px; }
  .session-portrait { grid-row: 1 / 3; align-self: stretch; }
  .session-portrait img { height: 100%; aspect-ratio: auto; }
  .session-copy { grid-column: 2; }
  .session-copy h2 { font-size: 37px; }
  .session-copy > p:not(.eyebrow) { font-size: 13px; }
  .session-price { grid-column: 2; border-left: 0; border-top: 1px solid #3e526e; padding: 20px 0 0; }
  .session-price .price { font-size: 49px; }
  .session-price .button { max-width: 330px; margin-top: 16px; }
  .session-price .payment-note { max-width: 330px; }
  .services-layout { grid-template-columns: 235px minmax(0, 1fr); gap: 30px; }
  .services-layout .service h3 { font-size: 18px; }
  .speaking-grid { grid-template-columns: 144px minmax(0, 1fr); gap: 0 28px; }
  .speaking-portrait { grid-row: 1 / 3; align-self: stretch; }
  .speaking-portrait img { height: 100%; aspect-ratio: auto; }
  .speaking-grid > .button { grid-column: 2; justify-self: start; margin-top: 20px; }
}
@media (max-width: 600px) {
  .about-portrait img { object-position: center 12%; }
  .contact-portrait img { object-position: center 20%; }
  .session-panel { grid-template-columns: 1fr; gap: 25px; padding: 24px; }
  .session-portrait { grid-row: auto; max-height: 320px; }
  .session-portrait img { height: 320px; object-position: center 17%; }
  .session-copy, .session-price { grid-column: auto; }
  .session-copy h2 { font-size: 37px; }
  .session-price .price { font-size: 61px; }
  .session-price .button, .session-price .payment-note { max-width: none; }
  .services-layout { grid-template-columns: 1fr; gap: 28px; margin-top: 25px; }
  .services-portrait img { max-height: 370px; aspect-ratio: 4 / 5; object-position: center 20%; }
  .services-layout .service h3 { font-size: 20px; }
  .speaking-grid { grid-template-columns: 1fr; gap: 23px; }
  .speaking-portrait { grid-row: auto; width: 100%; }
  .speaking-portrait img { height: 290px; aspect-ratio: auto; object-position: center 20%; }
  .speaking h2 { font-size: 33px; }
  .speaking-grid > .button { grid-column: auto; margin-top: 0; }
}
