/* Final proportion pass: two-line cover, compact rhythm and readable body copy. */
body.about-page .about-doit {
  padding-block: clamp(72px, 7vw, 104px);
}

body.about-page .about-doit-head,
body.about-page .about-doit-visual-main {
  min-height: 0;
  height: clamp(560px, 47vw, 620px);
}

body.about-page .about-doit-head {
  padding: 8px 0 4px;
}

body.about-page .about-doit-head > span {
  margin-top: 42px;
}

body.about-page .about-doit-head > p {
  width: min(100%, 50ch);
  margin-top: clamp(62px, 6vw, 86px);
  font-size: 14px;
  line-height: 1.65;
}

body.about-page .about-doit-head h2 {
  max-width: none;
  width: 100%;
  font-size: clamp(44px, 3.8vw, 54px);
  letter-spacing: -.065em;
  line-height: .92;
  white-space: nowrap;
  text-align: right;
}

body.about-page .about-doit-head h2 em {
  white-space: nowrap;
}

body.about-page .about-doit-visual figcaption,
body.about-page .about-heart-visual figcaption {
  display: none;
}

body.about-page .about-doit-detail {
  margin-top: clamp(68px, 7vw, 96px);
  padding-top: 0;
  border-top: 0;
}

body.about-page .about-doit-detail::before {
  display: none;
  content: none;
}

body.about-page .about-doit-visual-detail {
  height: clamp(520px, 50vw, 640px);
  margin-top: 54px;
}

body.about-page .about-doit-content {
  gap: 54px;
  margin-top: 54px;
}

body.about-page .about-doit-statement {
  max-width: 18ch;
  padding-top: 42px;
  font-size: clamp(29px, 3vw, 39px);
  line-height: 1.05;
}

body.about-page .about-doit-features article,
body.about-page .about-doit-features article:nth-child(2) {
  grid-template-columns: 34px minmax(170px,.72fr) minmax(250px,1fr);
  gap: 20px;
  padding: 23px 0 25px;
}

body.about-page .about-doit-features article > span {
  font-size: 10px;
}

body.about-page .about-doit-features h3 {
  font-size: 14px;
  line-height: 1.4;
}

body.about-page .about-doit-features p {
  font-size: 13px;
  line-height: 1.62;
}

body.about-page .about-heart {
  padding-block: clamp(86px, 9vw, 126px);
}

body.about-page .about-heart-head {
  margin-bottom: clamp(58px, 6vw, 78px);
}

body.about-page .about-heart-head h2 {
  max-width: 13ch;
  font-size: clamp(40px, 4.2vw, 54px);
  line-height: .94;
}

body.about-page .about-heart-visual-main {
  height: clamp(620px, 59vw, 750px);
}

body.about-page .about-heart-copy {
  margin-top: 32px;
}

body.about-page .about-heart-copy p,
body.about-page .about-heart-copy .about-heart-lead {
  padding: 17px 0;
  font-size: 13px;
  line-height: 1.65;
}

body.about-page .about-heart-copy .about-heart-lead {
  font-size: 15px;
  line-height: 1.6;
}

body.about-page .about-heart-wide {
  grid-column: 1 / 13;
  grid-row: 3;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 24px 0 0;
  border-top: 0;
  color: #33475e;
  font-family: Sora, sans-serif;
  font-size: 15px;
  font-weight: 550;
  line-height: 1.65;
}

body.about-page .about-heart-closing {
  grid-row: 4;
  margin-top: clamp(70px, 7vw, 96px);
  padding-top: 0;
  border-top: 0;
}

body.about-page .about-heart-visual-detail {
  height: clamp(390px, 38vw, 480px);
}

body.about-page .about-heart blockquote {
  grid-column: 2 / 8;
  max-width: 30ch;
  justify-self: end;
  align-self: center;
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.2;
  text-align: right;
}

@media (max-width: 900px) {
  body.about-page .about-doit-head {
    height: auto;
    min-height: 500px;
    padding-right: 0;
  }

  body.about-page .about-doit-head h2 {
    font-size: clamp(44px, 7vw, 56px);
  }

  body.about-page .about-doit-visual-main {
    height: 580px;
  }

  body.about-page .about-doit-features article,
  body.about-page .about-doit-features article:nth-child(2) {
    grid-template-columns: 34px 1fr;
  }

  body.about-page .about-doit-features p {
    grid-column: 2;
  }
}

@media (max-width: 620px) {
  body.about-page .about-doit-head {
    min-height: 480px;
  }

  body.about-page .about-doit-head > span {
    margin-top: 24px;
  }

  body.about-page .about-doit-head > p {
    font-size: 13px;
  }

  body.about-page .about-doit-head h2,
  body.about-page .about-doit-head h2 em {
    white-space: normal;
  }

  body.about-page .about-doit-head h2 {
    font-size: 46px;
  }

  body.about-page .about-doit-visual-main {
    height: 500px;
  }

  body.about-page .about-doit-visual-detail {
    height: 390px;
    margin-top: 0;
  }

  body.about-page .about-doit-statement {
    font-size: 29px;
  }

  body.about-page .about-doit-features h3 {
    font-size: 14px;
  }

  body.about-page .about-doit-features p {
    font-size: 13px;
  }

  body.about-page .about-heart-head h2 {
    font-size: 42px;
  }

  body.about-page .about-heart-visual-main {
    height: 500px;
  }

  body.about-page .about-heart-copy p,
  body.about-page .about-heart-copy .about-heart-lead {
    font-size: 13px;
  }

  body.about-page .about-heart-copy .about-heart-lead {
    font-size: 14px;
  }

  body.about-page .about-heart-wide {
    grid-column: 1 / 13;
    padding-top: 20px;
    font-size: 14px;
    line-height: 1.65;
  }

  body.about-page .about-heart blockquote {
    grid-column: 1;
    justify-self: stretch;
    font-size: 22px;
    text-align: right;
  }
}

/* Filosofía en tarjetas tipo carpeta */
body.about-page .about-heart-shell{display:block;width:calc(100vw - 32px);max-width:none;margin-left:calc(50% - 50vw + 16px);margin-right:0}
body.about-page .about-heart-primary,
body.about-page .about-heart-closing{position:relative;width:100%;border-radius:8px;padding:clamp(38px,5vw,72px);overflow:visible}
body.about-page .about-heart-primary{background:#f8f9fa;box-shadow:0 22px 58px rgba(20,43,69,.06)}
body.about-page .about-heart-primary::before,
body.about-page .about-heart-closing::before{position:absolute;top:-58px;left:0;width:clamp(250px,25vw,390px);height:60px;border-radius:10px 10px 0 0;clip-path:polygon(0 0,72% 0,87% 100%,100% 100%,0 100%);content:""}
body.about-page .about-heart-primary::before{background:#f8f9fa}
body.about-page .about-heart-primary .about-heart-head{position:static;margin-top:0}
body.about-page .about-heart-primary .about-heart-head{display:grid;grid-template-columns:3fr 6fr 3fr}
body.about-page .about-heart-primary .about-heart-editorial{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}
body.about-page .about-heart-primary .about-heart-wide{width:100%;margin:0;padding-top:24px}
body.about-page .about-heart-closing{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;margin-top:clamp(86px,9vw,128px);background:#d8dfe4}
body.about-page .about-heart-closing::before{background:#d8dfe4}
body.about-page .about-heart-closing .about-heart-visual-detail{grid-column:7/13;grid-row:1;width:100%;margin:0}
body.about-page .about-heart-closing blockquote{grid-column:1/7;grid-row:1;max-width:28ch;justify-self:start;align-self:center;margin:0;color:#07172c;text-align:left}
@media(max-width:900px){body.about-page .about-heart-shell{width:calc(100vw - 20px);margin-left:calc(50% - 50vw + 10px)}body.about-page .about-heart-primary,body.about-page .about-heart-closing{padding:34px 24px}.about-heart-primary .about-heart-editorial{grid-template-columns:1fr}.about-heart-primary .about-heart-copy,.about-heart-primary .about-heart-visual-main{grid-column:1!important}.about-heart-primary .about-heart-visual-main{height:520px!important}.about-heart-primary .about-heart-copy{margin:28px 0 0!important}body.about-page .about-heart-closing{grid-template-columns:1fr}body.about-page .about-heart-closing .about-heart-visual-detail,body.about-page .about-heart-closing blockquote{grid-column:1}body.about-page .about-heart-closing blockquote{justify-self:stretch;text-align:left}}

/* Interior continuo: contenido directo sobre la carpeta */
body.about-page .about-heart-primary{z-index:1;min-height:clamp(1120px,92vw,1380px);padding-bottom:clamp(110px,11vw,170px)}
body.about-page .about-heart-primary .about-heart-head{border-top:0;padding-top:0}
body.about-page .about-heart-primary .about-heart-head>span{position:absolute;top:-51px;left:0;z-index:3;display:flex;align-items:center;justify-content:center;width:clamp(205px,17vw,258px);height:52px;margin:0;color:#405b76;font-size:clamp(12px,.9vw,15px);font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase;white-space:nowrap}
body.about-page .about-heart-primary .about-heart-editorial{padding:0;border:0}
body.about-page .about-heart-primary .about-heart-copy p,
body.about-page .about-heart-primary .about-heart-copy .about-heart-lead{border-top:0;border-bottom:0}
body.about-page .about-heart-primary .about-heart-visual-main{border:0}
body.about-page .about-heart-closing{z-index:2;margin-top:clamp(-72px,-5vw,-46px)}
body.about-page .about-heart-folder-label{position:absolute;top:-39px;left:clamp(38px,5vw,72px);z-index:3;color:#405b76;font-family:Sora,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
body.about-page .about-heart-primary .about-heart-head,
body.about-page .about-heart-primary .about-heart-editorial,
body.about-page .about-heart-primary .about-heart-wide{width:calc(100% - clamp(24px,3vw,52px));margin-left:auto;margin-right:auto}
body.about-page .about-heart-closing .about-heart-visual-detail{width:calc(100% - clamp(12px,1.4vw,24px));justify-self:end}
body.about-page .about-heart-closing blockquote{padding-left:clamp(12px,1.4vw,24px)}
@media(max-width:900px){body.about-page .about-heart-primary{min-height:0;padding-bottom:94px}body.about-page .about-heart-closing{margin-top:-48px}}
@media(max-width:900px){body.about-page .about-heart-primary::before,body.about-page .about-heart-closing::before{top:-48px;width:min(72vw,310px);height:50px}body.about-page .about-heart-primary .about-heart-head>span{top:-43px;left:0;width:min(54vw,195px);height:44px;font-size:11px}body.about-page .about-heart-primary .about-heart-head,body.about-page .about-heart-primary .about-heart-editorial,body.about-page .about-heart-primary .about-heart-wide{width:calc(100% - 12px)}body.about-page .about-heart-closing .about-heart-visual-detail,body.about-page .about-heart-closing blockquote{grid-column:1;grid-row:auto;width:100%}body.about-page .about-heart-closing blockquote{order:1;padding-left:0}body.about-page .about-heart-closing .about-heart-visual-detail{order:2}}

@media (prefers-reduced-motion: reduce) {
  body.about-page .about-doit-visual img,
  body.about-page .about-heart-visual img {
    height: 100%;
    min-height: 100%;
    margin-top: 0;
    transform: none;
    will-change: auto;
  }
}
