/* PASO 4B · phase C. Existing factual copy and images, scoped page treatments.
   No global/header/footer changes and no transport or business-rule changes. */

body[data-page=nosotros] .about-editorial { background: #fff; }
body[data-page=nosotros] .about-editorial > .wrap:first-child {
  max-width: 1440px;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.16fr);
  gap: clamp(36px, 4.8vw, 86px);
  align-items: center;
}
body[data-page=nosotros] .about-opening-copy {
  max-width: 570px;
  padding-block: clamp(25px, 4svh, 48px);
}
body[data-page=nosotros] .about-opening h1 {
  margin: 0 0 27px;
  font-size: clamp(61px, 5.1vw, 88px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -.035em;
}
body[data-page=nosotros] .about-opening-copy .label { margin-bottom: 18px; }
body[data-page=nosotros] .about-opening-copy .lead {
  margin-bottom: 20px;
  font-size: clamp(19px, 1.47vw, 23px);
  line-height: 1.58;
  letter-spacing: -.015em;
}
body[data-page=nosotros] .about-opening-copy p:not(.lead):not(.label) {
  max-width: 52ch;
  font-size: clamp(14px, 1.08vw, 16px);
  line-height: 1.78;
}
body[data-page=nosotros] .about-editorial figure { margin: 0; min-width: 0; }
body[data-page=nosotros] .about-editorial figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: contain;
}
body[data-page=nosotros] .about-location {
  display: grid;
  text-align: left;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(30px, 5vw, 80px);
  max-width: 1440px;
  padding-block: 29px 35px;
  margin-top: 15px;
  border-top: 1px solid var(--line);
}
body[data-page=nosotros] .about-location p {
  margin: 0;
  max-width: 52ch;
  font-size: 14px;
  line-height: 1.8;
}
body[data-page=nosotros] .about-location p + p { justify-self: end; }
body[data-page=nosotros] .about-values-scene > .wrap {
  max-width: 1440px;
  display: block;
  padding-block: clamp(42px, 6svh, 76px);
}
body[data-page=nosotros] .about-values-copy {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px clamp(35px, 4.6vw, 74px);
  align-items: start;
}
body[data-page=nosotros] .about-values-copy > .label {
  grid-column: 1 / -1;
  margin: 0;
  padding-bottom: 19px;
  border-bottom: 1px solid #514e49;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .15em;
  color: #c6b8ae;
}
body[data-page=nosotros] .about-value + .about-value {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
body[data-page=nosotros] .about-value h2 {
  margin: 0 0 10px;
  font-size: clamp(17px, 1.3vw, 21px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .07em;
}
body[data-page=nosotros] .about-value p {
  max-width: 56ch;
  margin: 0;
  font-size: clamp(14px, 1.04vw, 16px);
  line-height: 1.8;
  color: #dedbd6;
}
body[data-page=nosotros] .about-values-copy > .text-link { grid-column: 1 / -1; justify-self: start; margin-top: 1px; }

body[data-page=cursos] .faq-section { max-width: 920px; }
body[data-page=cursos] .course-final-cta > .wrap {
  max-width: 1100px;
  gap: clamp(30px, 5vw, 80px);
}
body[data-page=cursos] .course-final-cta h2 { text-wrap: balance; }
body[data-page=cursos] .course-final-cta p { max-width: 47ch; }

body[data-page=contacto] .contact-composition {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(42px, 6vw, 100px);
  max-width: 1160px;
  min-height: clamp(360px, 56svh, 520px);
  padding-block: 45px 80px;
  text-align: left;
}
body[data-page=contacto] .contact-heading .label { margin: 0 0 20px; }
body[data-page=contacto] .contact-heading h1 {
  margin: 0;
  font-size: clamp(52px, 5.2vw, 82px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.04em;
}
body[data-page=contacto] .contact-purpose {
  padding-left: clamp(36px, 4vw, 66px);
  border-left: 1px solid var(--line);
}
body[data-page=contacto] .contact-purpose > p:first-child {
  max-width: 29ch;
  margin: 0;
  font-size: clamp(20px, 1.72vw, 27px);
  line-height: 1.55;
  letter-spacing: -.015em;
}
body[data-page=contacto] .contact-composition .contact-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
  margin-block: 28px 20px;
}
body[data-page=contacto] .contact-actions .button { min-height: 48px; }
body[data-page=contacto] .contact-purpose .contact-address {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

body[data-page=consejos] .advice-heading {
  max-width: 1360px;
  padding-block: 30px 43px;
  text-align: left;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  align-items: end;
  gap: 40px;
}
body[data-page=consejos] .advice-heading h1 {
  margin: 0;
  font-size: clamp(48px, 4.6vw, 70px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
}
body[data-page=consejos] .advice-heading p {
  max-width: 31ch;
  margin: 0 0 3px;
  justify-self: end;
  font-size: 16px;
  line-height: 1.75;
}
body[data-page=consejos] .advice-index {
  max-width: 1360px;
  gap: clamp(44px, 5vw, 76px) clamp(35px, 4.5vw, 70px);
  margin-bottom: clamp(52px, 6svh, 84px);
}
body[data-page=consejos] .advice-index .article-0 {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}
body[data-page=consejos] .advice-index .article-0 .article-caption {
  padding: clamp(27px, 3.2vw, 52px);
}
body[data-page=consejos] .advice-index .article-0 h2 {
  max-width: 15ch;
  font-size: clamp(28px, 2.7vw, 43px);
  line-height: 1.23;
  font-weight: 400;
  letter-spacing: -.02em;
}
body[data-page=consejos] .advice-index .article-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
body[data-page=consejos] .advice-index .article-1,
body[data-page=consejos] .advice-index .article-2 {
  background: transparent;
  border: 0;
  box-shadow: none;
}
body[data-page=consejos] .advice-index .article-1 .article-caption,
body[data-page=consejos] .advice-index .article-2 .article-caption { padding: 24px 0 0; }
body[data-page=consejos] .advice-index .article-1 h2,
body[data-page=consejos] .advice-index .article-2 h2 {
  max-width: 26ch;
  margin-bottom: 12px;
  font-size: clamp(24px, 2vw, 31px);
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: -.015em;
}
body[data-page=consejos] .advice-index .article-item p:not(.label) {
  display: block;
  max-width: 43ch;
  margin-bottom: 15px;
  font-size: 15px;
  line-height: 1.75;
}
body[data-page=consejos] .advice-index .text-link { min-height: 44px; }

/* Reading layouts target only the three existing advice articles. */
body[data-page^="consejos/"] .article-heading {
  max-width: 1050px;
  padding-block: 29px 39px;
}
body[data-page^="consejos/"] .article-heading h1 {
  max-width: 24ch;
  margin-inline: auto;
  font-size: clamp(37px, 3.8vw, 59px);
  font-weight: 400;
  line-height: 1.17;
  letter-spacing: -.025em;
  text-wrap: balance;
}
body[data-page^="consejos/"] .article-cover { max-width: 960px; }
body[data-page="consejos/organizar-beauty-boda-destino"] .article-cover { max-width: 768px; }
body[data-page^="consejos/"] .article-cover img { display: block; width: 100%; height: auto; }
body[data-page^="consejos/"] .article-body {
  max-width: 720px;
  margin-block: 45px 58px;
  font-size: 17px;
  line-height: 1.88;
}
body[data-page^="consejos/"] .article-body section + section { margin-top: 35px; }
body[data-page^="consejos/"] .article-body h2 {
  max-width: 32ch;
  margin: 0 0 16px;
  font-size: clamp(25px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: -.015em;
}
body[data-page^="consejos/"] .article-body p { margin: 0; }
body[data-page^="consejos/"] .article-body > .text-link {
  min-height: 44px;
  margin-top: 34px;
}

/* Short Contact pages still close at the viewport edge on tall desktop screens. */
@media (min-width: 851px) {
  body[data-page=contacto] { display: flex; flex-direction: column; min-height: 100svh; }
  body[data-page=contacto] > main { flex: 1 0 auto; }
  body[data-page=contacto] > .site-header,
  body[data-page=contacto] > .site-footer { flex: none; }
}

@media (min-width: 851px) and (max-width: 1100px) {
  body[data-page=nosotros] .about-editorial > .wrap:first-child { gap: 32px; }
  body[data-page=nosotros] .about-opening-copy .lead { font-size: 19px; }
  body[data-page=nosotros] .about-values-copy { column-gap: 30px; }
  body[data-page=contacto] .contact-composition { gap: 32px; }
  body[data-page=contacto] .contact-purpose { padding-left: 32px; }
}

@media (max-width: 850px) {
  body[data-page=nosotros] .about-editorial > .wrap:first-child {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    max-width: 620px;
  }
  body[data-page=nosotros] .about-opening-copy { max-width: none; padding-block: 18px 18px; }
  body[data-page=nosotros] .about-opening h1 { font-size: clamp(47px, 12.5vw, 62px); margin-bottom: 24px; }
  body[data-page=nosotros] .about-opening-copy .label { margin-bottom: 15px; }
  body[data-page=nosotros] .about-opening-copy .lead { font-size: 19px; line-height: 1.6; }
  body[data-page=nosotros] .about-opening-copy p:not(.lead):not(.label) { font-size: 14.5px; line-height: 1.8; }
  body[data-page=nosotros] .about-location {
    max-width: 620px;
    grid-template-columns: minmax(0, 1fr);
    gap: 13px;
    margin-top: 29px;
    padding-block: 22px 32px;
  }
  body[data-page=nosotros] .about-location p { font-size: 13px; line-height: 1.8; }
  body[data-page=nosotros] .about-location p + p { justify-self: start; }
  body[data-page=nosotros] .about-values-scene > .wrap {
    max-width: 620px;
    padding-block: 34px 39px;
  }
  body[data-page=nosotros] .about-values-copy { display: block; }
  body[data-page=nosotros] .about-values-copy > .label { margin-bottom: 23px; padding-bottom: 19px; }
  body[data-page=nosotros] .about-value h2 { font-size: 17px; letter-spacing: .045em; }
  body[data-page=nosotros] .about-value p { font-size: 14px; line-height: 1.85; }
  body[data-page=nosotros] .about-value + .about-value { margin-top: 25px; padding-top: 25px; border-top: 1px solid #514e49; }
  body[data-page=nosotros] .about-values-copy > .text-link { margin-top: 25px; }
  body[data-page=cursos] .course-final-cta > .wrap { max-width: 620px; }
  body[data-page=contacto] .contact-composition {
    grid-template-columns: minmax(0, 1fr);
    gap: 31px;
    max-width: 620px;
    min-height: 0;
    padding-block: 25px 53px;
  }
  body[data-page=contacto] .contact-heading .label { margin-bottom: 17px; }
  body[data-page=contacto] .contact-heading h1 { font-size: 48px; }
  body[data-page=contacto] .contact-purpose {
    padding-left: 0;
    padding-top: 26px;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  body[data-page=contacto] .contact-purpose > p:first-child { font-size: 20px; line-height: 1.65; }
  body[data-page=contacto] .contact-composition .contact-actions { margin-block: 24px 17px; gap: 10px; }
  body[data-page=contacto] .contact-actions .button { min-width: 0; min-height: 50px; padding-inline: 19px; flex: 1 1 140px; }
  body[data-page=consejos] .advice-heading {
    display: block;
    max-width: 620px;
    padding-block: 24px 32px;
  }
  body[data-page=consejos] .advice-heading h1 { margin-bottom: 19px; font-size: 44px; }
  body[data-page=consejos] .advice-heading p { margin: 0; font-size: 15px; line-height: 1.8; }
  body[data-page=consejos] .advice-index {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: 620px;
    gap: 38px;
    margin-bottom: 43px;
  }
  body[data-page=consejos] .advice-index .article-0 { display: block; }
  body[data-page=consejos] .advice-index .article-0 .article-caption { padding: 27px 24px 29px; }
  body[data-page=consejos] .advice-index .article-0 h2 { max-width: 18ch; font-size: 29px; line-height: 1.27; }
  body[data-page=consejos] .advice-index .article-1 .article-caption,
  body[data-page=consejos] .advice-index .article-2 .article-caption { padding-top: 23px; }
  body[data-page=consejos] .advice-index .article-1 h2,
  body[data-page=consejos] .advice-index .article-2 h2 { font-size: 25px; line-height: 1.32; }
  body[data-page=consejos] .advice-index .article-item p:not(.label) { font-size: 14px; margin-bottom: 11px; }
  body[data-page^="consejos/"] .article-heading { padding-block: 24px 29px; max-width: 620px; }
  body[data-page^="consejos/"] .article-heading h1 { font-size: clamp(31px, 8.1vw, 41px); text-align: left; line-height: 1.22; }
  body[data-page^="consejos/"] .article-cover { max-width: 620px; }
  body[data-page^="consejos/"] .article-body { max-width: 620px; margin-block: 31px 40px; font-size: 15px; line-height: 1.85; }
  body[data-page^="consejos/"] .article-body section + section { margin-top: 29px; }
  body[data-page^="consejos/"] .article-body h2 { margin-bottom: 14px; font-size: 25px; line-height: 1.35; }
}
