/* Inicio editorial CMICE */
.home {
  overflow:hidden
}

.home h1,.home h2,.home h3 {
  letter-spacing:-.045em
}

.home h2 {
  font-size:clamp(2.3rem,4.1vw,4.3rem);
  line-height:1.09
}

.home h2 .accent {
  color:var(--red)
}

.home .lead {
  font-size:1.3rem;
  line-height:1.55
}

.home-hero {
  min-height:700px;
  background:#0b2238;
  color:white;
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:flex-end
}

.home-hero-photo {
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('portada-cmice.jpg') center/cover no-repeat;
  transform:scale(1.015)
}

.home-hero:before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(8,31,52,.98) 0%,rgba(8,31,52,.90) 37%,rgba(8,31,52,.45) 78%,rgba(8,31,52,.37)),linear-gradient(0deg,#091d31 0%,transparent 45%)
}

.home-hero-inner {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 245px;
  gap:60px;
  align-items:end;
  padding-top:135px;
  padding-bottom:110px
}

.home-hero-content {
  max-width:830px
}

.home-label,.home-kicker {
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:.75rem;
  font-weight:800;
  display:inline-block
}

.home-label {
  color:#f7d5d7;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px
}

.label-line {
  width:34px;
  height:2px;
  background:var(--red)
}

.home-hero h1 {
  font-size:clamp(3.7rem,7vw,7.6rem);
  line-height:.99;
  margin-bottom:27px;
  max-width:840px
}

.home-hero h1 em,.home-final h2 em {
  font-style:normal;
  color:#ff7580
}

.home-hero-content>p {
  font-size:clamp(1.1rem,1.5vw,1.3rem);
  max-width:610px;
  line-height:1.55;
  color:#e5edf5
}

.home-primary {
  background:var(--red);
  color:white;
  gap:26px;
  min-height:55px;
  padding:14px 23px
}

.home-primary:hover {
  background:#b81f2b
}

.home-secondary {
  color:white;
  border:1px solid #ffffffa9;
  min-height:55px;
  padding:14px 23px
}

.home-hero-aside {
  border-left:1px solid #ffffff75;
  padding-left:28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  margin-bottom:6px
}

.home-hero-aside strong {
  font:800 clamp(4.5rem,7vw,7rem)/.95 Manrope,sans-serif;
  letter-spacing:-.08em
}

.home-hero-aside>span {
  font-size:.9rem;
  line-height:1.45;
  margin:12px 0 35px;
  color:#dce8f2
}

.home-hero-aside a {
  color:white;
  text-decoration:none;
  font-size:.85rem;
  font-weight:800;
  border-bottom:1px solid #ffffff70;
  padding-bottom:9px;
  display:flex;
  justify-content:space-between;
  width:100%
}

.home-hero-bottom {
  border-top:1px solid #ffffff38;
  background:#09243dcc
}

.home-hero-bottom .wrap {
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding-top:18px;
  padding-bottom:19px;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800;
  color:#e1ebf3
}

.home-section {
  padding:115px 0
}

.home-kicker {
  color:var(--red);
  margin-bottom:21px
}

.home-title-row {
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:75px;
  align-items:end;
  margin-bottom:48px
}

.home-title-row h2 {
  margin:0
}

.home-title-row>p {
  font-size:1.08rem;
  color:var(--muted);
  margin:0 0 5px
}

.home-intro-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:110px;
  align-items:center
}

.home-intro-grid h2 {
  max-width:650px
}

.home-intro-grid .lead {
  color:#34485c
}

.home-intro-steps {
  margin-top:35px;
  border-top:1px solid var(--line)
}

.home-intro-steps div {
  border-bottom:1px solid var(--line);
  padding:15px 0;
  display:flex;
  gap:22px;
  align-items:baseline;
  font-weight:700
}

.home-intro-steps b {
  color:var(--red);
  font-size:.75rem
}

.home-fair {
  background:#f1f5f8
}

.home-fair-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
  align-items:center
}

.home-fair-image {
  height:540px;
  position:relative;
  box-shadow:28px 28px 0 #dce5ec
}

.home-fair-image img {
  width:100%;
  height:100%;
  object-fit:cover
}

.home-fair-image:after {
  content:"";
  position:absolute;
  inset:30% 0 0;
  background:linear-gradient(transparent,#102a43bd)
}

.home-fair-image span {
  position:absolute;
  z-index:1;
  bottom:28px;
  left:30px;
  color:white;
  max-width:260px;
  font:800 1.5rem/1.2 Manrope,sans-serif
}

.home-fair-content h2 {
  max-width:640px
}

.home-fair-content>p {
  font-size:1.1rem;
  color:var(--muted)
}

.tick-list {
  padding:0;
  margin:27px 0;
  list-style:none
}

.tick-list li {
  position:relative;
  padding:6px 0 6px 28px
}

.tick-list li:before {
  content:"↗";
  position:absolute;
  left:0;
  color:var(--red);
  font-weight:900
}

.inline-link {
  display:inline-block;
  color:var(--red);
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:4px
}

.inline-link:hover {
  color:#961d27
}

.home-fair .actions {
  align-items:center;
  gap:25px
}

.home-path {
  background:#fff
}

.home-path-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.path-panel {
  padding:45px 48px;
  min-height:360px;
  background:#eef3f7
}

.panel-number {
  font:800 3.4rem/1 Manrope,sans-serif;
  letter-spacing:-.07em;
  color:#c5d3df;
  display:block;
  margin-bottom:48px
}

.path-panel h3 {
  font-size:1.7rem
}

.path-panel li {
  color:#34495e
}

.path-panel-dark {
  background:#17334e;
  color:white
}

.path-panel-dark .panel-number {
  color:#456078
}

.path-panel-dark li {
  color:#e3ecf4
}

.path-panel-dark .tick-list li:before {
  color:#ff7d88
}

.home-explainer {
  background:#0d2943;
  color:white
}

.home-explainer-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:center
}

.explainer-title h2 {
  max-width:630px
}

.explainer-title p {
  font-size:1.15rem;
  color:#d5e1eb;
  max-width:500px
}

.home-explainer .inline-link {
  color:#ff9ca4;
  margin-top:20px
}

.explainer-cards {
  display:grid;
  gap:16px
}

.explainer-cards article {
  border:1px solid #72869a;
  background:#ffffff0c;
  padding:32px 35px
}

.explainer-mark {
  display:inline-block;
  background:#d52532;
  color:white;
  min-width:64px;
  text-align:center;
  padding:5px 12px;
  font-weight:800;
  font-size:.75rem;
  letter-spacing:.1em;
  margin-bottom:25px
}

.explainer-cards h3 {
  font-size:1.35rem
}

.explainer-cards p {
  color:#d5e1eb;
  margin:0
}

.home-centres {
  background:#f4f7f9
}

.home-centres-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}

.home-centre {
  min-height:295px;
  position:relative;
  overflow:hidden;
  background:#17334e;
  color:white;
  text-decoration:none
}

.centre-featured {
  grid-row:span 2;
  min-height:606px
}

.home-centre img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s
}

.home-centre:hover img {
  transform:scale(1.07)
}

.home-centre-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#0b233de8 0%,#0b233d2b 80%)
}

.home-centre-content {
  position:absolute;
  inset:auto 27px 25px;
  display:flex;
  flex-direction:column
}

.home-centre-content small {
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#ffacb3;
  margin-bottom:10px
}

.home-centre-content strong {
  font:800 clamp(1.25rem,2vw,1.75rem)/1.2 Manrope,sans-serif;
  max-width:440px
}

.home-centre-content>span {
  font-size:.84rem;
  font-weight:800;
  margin-top:17px
}

.home-section-end {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  padding-top:28px;
  color:var(--muted);
  font-size:.9rem
}

.home-areas-list {
  border-top:1px solid #bdcbd6
}

.home-areas-list a {
  display:grid;
  grid-template-columns:60px 1.4fr 1fr 30px;
  align-items:center;
  gap:25px;
  padding:24px 14px;
  border-bottom:1px solid #bdcbd6;
  text-decoration:none;
  color:var(--ink);
  transition:background .2s,padding .2s
}

.home-areas-list a:hover {
  background:#f2f6f9;
  padding-left:24px
}

.home-areas-list a>span {
  font-size:.83rem;
  font-weight:800;
  color:var(--red)
}

.home-areas-list strong {
  font:800 clamp(1.2rem,2vw,1.65rem)/1.2 Manrope,sans-serif;
  letter-spacing:-.03em
}

.home-areas-list small {
  color:var(--muted);
  font-size:.9rem
}

.home-areas-list b {
  font-size:1.45rem;
  color:var(--red)
}

.home-course {
  background:#d52532;
  color:white;
  padding:92px 0
}

.home-course-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:80px;
  align-items:center
}

.home-course .home-kicker {
  color:#ffd8dc
}

.home-course h2 {
  max-width:780px
}

.home-course p {
  font-size:1.14rem;
  max-width:660px;
  color:#fff0f1
}

.home-course .home-primary {
  background:white;
  color:#b91f2b
}

.home-course-visual {
  display:grid;
  justify-items:end
}

.home-course-visual span {
  font:800 clamp(2.1rem,4.1vw,4.7rem)/1.25 Manrope,sans-serif;
  letter-spacing:-.065em;
  border-bottom:1px solid #ffffff6e;
  width:100%;
  text-align:right
}

.home-course-visual span:nth-child(2) {
  opacity:.74
}

.home-course-visual span:nth-child(3) {
  opacity:.48
}

.home-film {
  background:#102d49;
  color:white
}

.home-film-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:65px;
  align-items:center
}

.home-film h2 {
  max-width:500px
}

.home-film p {
  color:#d5e1eb
}

.home-film .inline-link {
  color:#ff9ca4
}

.home-film video {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  background:#081929;
  object-fit:cover;
  box-shadow:0 22px 50px #08192970
}

.home-faq-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px
}

.home-faq-grid>div:first-child p {
  color:var(--muted);
  max-width:390px
}

.home-faq .faq details {
  margin:0;
  border:none;
  border-bottom:1px solid var(--line);
  border-radius:0;
  padding:23px 0
}

.home-faq .faq details:first-child {
  border-top:1px solid var(--line)
}

.home-faq .faq summary {
  font-size:1.06rem;
  padding-right:30px
}

.home-identities {
  background:#f3f6f9
}

.home-identities .identities {
  margin-top:40px;
  border-radius:0;
  padding:42px
}

.home-final {
  padding:90px 0;
  background:#09243d;
  color:white
}

.home-final-inner {
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:80px;
  align-items:end
}

.home-final h2 {
  font-size:clamp(2.7rem,4.7vw,5rem);
  line-height:1.06
}

.home-final .home-kicker {
  color:#ffb4ba
}

.home-final p {
  color:#dce6ef;
  font-size:1.13rem
}

.home-final .actions {
  align-items:center
}

.home-final .home-secondary {
  border-color:#ffffff8c
}

@media(max-width:900px) {
  .home-hero-inner {
    grid-template-columns:1fr;
    gap:35px
  }
  .home-hero-aside {
    display:none
  }
  .home-hero-bottom .wrap {
    flex-wrap:wrap
  }
  .home-intro-grid,.home-fair-grid,.home-explainer-grid,.home-title-row,.home-course-grid,.home-film-grid,.home-faq-grid,.home-final-inner {
    grid-template-columns:1fr;
    gap:30px
  }
  .home-section {
    padding:80px 0
  }
  .home-centres-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .centre-featured {
    grid-row:auto;
    min-height:295px
  }
  .home-fair-image {
    height:340px;
    box-shadow:14px 14px 0 #dce5ec;
    margin-bottom:20px
  }
  .home-course-visual {
    display:none
  }
}

@media(max-width:650px) {
  .home-hero {
    min-height:620px
  }
  .home-hero-inner {
    padding-top:85px;
    padding-bottom:80px
  }
  .home-hero h1 {
    font-size:clamp(3.25rem,13vw,5rem)
  }
  .home-hero-bottom .wrap span:nth-child(n+2) {
    display:none
  }
  .home-section {
    padding:68px 0
  }
  .home h2 {
    font-size:clamp(2.05rem,9vw,3rem)
  }
  .home-path-grid,.home-centres-grid {
    grid-template-columns:1fr
  }
  .path-panel {
    min-height:0;
    padding:30px
  }
  .panel-number {
    margin-bottom:24px
  }
  .home-centre,.centre-featured {
    min-height:310px
  }
  .home-areas-list a {
    grid-template-columns:30px 1fr 25px;
    gap:12px
  }
  .home-areas-list small {
    grid-column:2;
    grid-row:2
  }
  .home-areas-list b {
    grid-column:3;
    grid-row:1/3
  }
  .home-course,.home-final {
    padding:72px 0
  }
  .home-section-end {
    flex-wrap:wrap
  }
  .home-identities .identities {
    padding:25px
  }
}

@media(prefers-reduced-motion:reduce) {
  .home * {
    scroll-behavior:auto;
    transition:none!important
  }
}
