html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
  transition: background-color .8s;
  transition-timing-function: cubic-bezier(0.11, 0.89, 0.31, 0.99);
  overflow: auto;
  overflow-y: scroll; }

body {
  font-family: 'Raleway', sans-serif;
  color: #717171;
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "kern";
  font-kerning: normal;
  line-height: 1.6;
  height: 100%;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased; }

*,
*:before,
*:after {
  box-sizing: inherit; }

::-webkit-scrollbar {
  width: 0.4em;
  height: 0.5em; }

::-webkit-scrollbar-thumb {
  background: rgba(18, 106, 185, 0.8); }

::-webkit-scrollbar-track {
  background: rgba(18, 106, 185, 0.2); }

a {
  text-decoration: none;
  outline: none; }

*:focus {
  outline: 0; }

a:hover,
a:focus {
  text-decoration: none;
  outline: none; }

input:-webkit-autofill {
  color: #FFFFFF !important; }

::-ms-clear {
  display: none; }

strong {
  font-weight: 700; }

article {
  margin: 8rem auto; }
  @media (max-width: 640px) {
    article {
      margin: 4rem auto; } }

.visible {
  overflow: visible !important; }

.scroll_top {
  background: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: none; }
  .homepage .scroll_top {
    display: block; }

.content {
  position: relative;
  width: calc(100% - 60px);
  max-width: 1360px;
  margin: 0 auto;
  overflow: hidden; }
  @media (max-width: 640px) {
    .content {
      width: calc(100% - 40px); } }

.top_section {
  height: 115px;
  width: 100%; }
  @media (max-width: 1366px) {
    .top_section {
      height: 90px; } }
  @media (max-width: 960px) {
    .top_section {
      height: 75px; } }

.title {
  color: #126AB9;
  font-size: 3.4rem;
  margin: 0 0 2rem;
  font-weight: 300;
  line-height: 1.1;
  font-weight: 500; }
  .title.fantasy {
    font-family: 'OmTeloletOm', sans-serif;
    font-size: 7rem; }
    @media (max-width: 768px) {
      .title.fantasy {
        font-size: 5.5rem; } }
    @media (max-width: 350px) {
      .title.fantasy {
        font-size: 5rem; } }
    .title.fantasy.subtitle {
      font-size: 4rem; }
      @media (max-width: 768px) {
        .title.fantasy.subtitle {
          font-size: 3.5rem;
          margin: 0 auto 4rem; } }

@keyframes rotate360 {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

.full_widht {
  width: 100%;
  max-width: 1260px;
  margin: 4rem auto 0;
  display: block;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .full_widht img {
    width: 100%; }

@media (max-width: 767px) {
  .desktop {
    display: none; } }

.mb {
  display: none; }
  @media (max-width: 767px) {
    .mb {
      display: block; } }

.center {
  text-align: center; }

.button {
  font-size: 1.6rem;
  display: inline-block;
  border-radius: 25px;
  border: 2px solid #126AB9;
  color: #126AB9;
  padding: 10px 30px;
  margin: 20px 0 0;
  transition: 0.25s ease; }
  .button.white {
    border: 2px solid #FFFFFF;
    color: #FFFFFF; }
  @media (pointer: fine) {
    .button:hover {
      color: #FFFFFF;
      background: rgba(18, 106, 185, 0.75); }
      .button:hover.white {
        color: #126AB9;
        background: rgba(255, 255, 255, 0.7); } }

button {
  width: 100%;
  padding: 14px 30px !important;
  cursor: pointer;
  background: transparent; }

.menu {
  line-height: 1; }
  .menu .menu-list {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .menu .menu-list .menu-item {
      display: block;
      overflow: hidden; }
      .menu .menu-list .menu-item .menu-link {
        text-decoration: none;
        font-size: 1.8rem;
        display: block;
        font-weight: 500;
        padding: 39.5px 30px; }
        @media (max-width: 1366px) {
          .menu .menu-list .menu-item .menu-link {
            padding: 27px 30px; } }
        @media (max-width: 960px) {
          .menu .menu-list .menu-item .menu-link {
            font-size: 3.5vw; } }
        @media (max-width: 768px) {
          .menu .menu-list .menu-item .menu-link {
            font-size: 4.5vw; } }
        @media (max-width: 640px) {
          .menu .menu-list .menu-item .menu-link {
            font-size: 7vw;
            padding: 40px 10px; } }
        @media (pointer: fine) {
          .menu .menu-list .menu-item .menu-link:hover {
            outline: none; }
            .menu .menu-list .menu-item .menu-link:hover path {
              stroke-dashoffset: 0; } }
        .menu .menu-list .menu-item .menu-link:focus {
          outline: none; }
        .menu .menu-list .menu-item .menu-link svg {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 50%;
          left: 50%;
          max-width: 258px;
          -ms-transform: translate(-50%, -54%);
          transform: translate(-50%, -54%); }
          @media (max-width: 960px) {
            .menu .menu-list .menu-item .menu-link svg {
              -ms-transform: translate(-50%, -54%) scale(2, 1.4);
              transform: translate(-50%, -54%) scale(2, 1.4); } }
          .menu .menu-list .menu-item .menu-link svg path {
            fill: none;
            stroke-width: 1.5px;
            stroke-linecap: round;
            stroke-dasharray: 720;
            stroke-dashoffset: 720;
            transition: stroke-dashoffset .5s linear; }

.menu-anim .menu-link {
  position: relative;
  text-align: center;
  color: #000;
  transition: color 0.3s; }
  .producir .menu-anim .menu-link.orange {
    color: #F27C00; }
  .promover .menu-anim .menu-link.violet {
    color: #81438D; }
  .preservar .menu-anim .menu-link.green {
    color: #227C26; }
  @media (max-width: 960px) {
    .menu-anim .menu-link.orange {
      color: #F27C00; }
    .menu-anim .menu-link.violet {
      color: #81438D; }
    .menu-anim .menu-link.green {
      color: #227C26; } }
  @media (pointer: fine) {
    .menu-anim .menu-link:hover.orange {
      color: #F27C00; }
    .menu-anim .menu-link:hover.violet {
      color: #81438D; }
    .menu-anim .menu-link:hover.green {
      color: #227C26; } }

.menu-desktop {
  position: fixed;
  width: 100%;
  z-index: 999;
  transition: top .3s ease-in-out;
  top: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  .menu-desktop.nav-up {
    top: -150px; }
  .menu-desktop .content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media (max-width: 1200px) {
      .menu-desktop .content {
        -ms-flex-pack: end;
        justify-content: end; } }
  .menu-desktop.menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    background: white; }
    @media (max-width: 960px) {
      .menu-desktop.menu {
        display: none; } }
  .menu-desktop .logo {
    margin: 0;
    width: 120px;
    position: absolute;
    left: 0;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .menu-desktop .logo img {
      width: 100%; }
      @media (max-width: 1366px) {
        .menu-desktop .logo img {
          max-width: 90px; } }
  .menu-desktop .nav-item {
    padding: 5px 0;
    position: relative;
    margin: 0 10px; }
    .menu-desktop .nav-item:hover {
      color: black; }
      .menu-desktop .nav-item:hover:after {
        width: 100%; }
    .menu-desktop .nav-item:after {
      content: '';
      position: absolute;
      z-index: 1;
      bottom: -.15rem;
      left: 0;
      width: 0;
      height: 5px;
      background: black;
      transition: width 0.2s ease; }

.menu-mobile {
  display: block;
  background: white;
  width: 100%;
  height: 75px;
  display: none;
  position: fixed;
  z-index: 999;
  transition: top .3s ease-in-out;
  top: 0 !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  .menu-mobile.nav-up {
    top: -100px; }
  .menu-mobile .logo {
    display: block;
    left: 20px;
    width: 80px;
    top: 10px;
    position: relative;
    z-index: 9; }
    .menu-mobile .logo img {
      width: 100%; }
  @media (max-width: 960px) {
    .menu-mobile {
      display: block; } }
  .menu-mobile .checkbox-toggle {
    position: absolute;
    z-index: 2;
    cursor: pointer;
    width: 40px;
    height: 40px;
    opacity: 0;
    top: 17px;
    right: 20px;
    padding: 0;
    margin: 0; }
    .menu-mobile .checkbox-toggle:checked + .hamburger > div {
      -ms-transform: rotate(135deg);
      transform: rotate(135deg); }
      .menu-mobile .checkbox-toggle:checked + .hamburger > div:before, .menu-mobile .checkbox-toggle:checked + .hamburger > div:after {
        top: 0;
        -ms-transform: rotate(90deg);
        transform: rotate(90deg); }
      .menu-mobile .checkbox-toggle:checked + .hamburger > div:after {
        opacity: 0; }
    .menu-mobile .checkbox-toggle:checked ~ .menu {
      pointer-events: auto;
      visibility: visible; }
      .menu-mobile .checkbox-toggle:checked ~ .menu > div {
        transition-duration: .75s;
        background: rgba(255, 255, 255, 0.97);
        left: 0; }
        .menu-mobile .checkbox-toggle:checked ~ .menu > div > div {
          opacity: 1;
          transition: opacity 0.2s ease 0.2s; }
    .menu-mobile .checkbox-toggle:checked:hover + .hamburger > div {
      -ms-transform: rotate(225deg);
      transform: rotate(225deg); }
  .menu-mobile .hamburger {
    position: absolute;
    top: 17px;
    right: 20px;
    z-index: 1;
    width: 40px;
    height: 40px;
    background: transparent;
    border-radius: 0 1rem 1rem 0;
    cursor: pointer;
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .menu-mobile .hamburger > div {
      position: relative;
      -ms-flex: none;
      flex: none;
      width: 100%;
      height: 2px;
      background: #126AB9;
      transition: all 0.2s ease;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .menu-mobile .hamburger > div:before, .menu-mobile .hamburger > div:after {
        content: '';
        position: absolute;
        z-index: 1;
        top: -10px;
        left: 0;
        width: 100%;
        height: 2px;
        background: inherit;
        transition: all 0.2s ease; }
      .menu-mobile .hamburger > div:after {
        top: 10px; }
  .menu-mobile .menu {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow: hidden;
    backface-visibility: hidden;
    outline: 1px solid transparent;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media (min-width: 1024px) {
      .menu-mobile .menu {
        display: none; } }
    .menu-mobile .menu .menu-list {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: stretch;
      align-items: stretch;
      -ms-flex-line-pack: stretch;
      align-content: stretch;
      width: 100%;
      overflow: hidden; }
    .menu-mobile .menu > div {
      color: #126AB9;
      background: white;
      transition: all 0.2s ease;
      -ms-flex: none;
      flex: none;
      backface-visibility: hidden;
      overflow: hidden;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      left: 100%;
      position: fixed;
      top: 75px;
      height: calc(100vh - 75px);
      box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.2);
      transition-duration: .5s; }
      .menu-mobile .menu > div > div {
        text-align: center;
        opacity: 0;
        transition: opacity 0.2s ease;
        overflow-y: auto;
        -ms-flex: none;
        flex: none;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        top: -7vw;
        position: relative; }

.footer .content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  border-top: 2px solid #126ab9;
  padding: 3rem 0 6rem; }
  @media (max-width: 640px) {
    .footer .content {
      -ms-flex-direction: column;
      flex-direction: column; } }
  .footer .content .logo {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: auto;
    max-width: 90px; }
    @media (max-width: 960px) {
      .footer .content .logo {
        max-width: 80px; } }
    @media (max-width: 640px) {
      .footer .content .logo {
        margin: 0 0 3rem; } }
    .footer .content .logo img {
      width: 100%; }
    .footer .content .logo a {
      display: inherit; }
    .footer .content .logo .scroll_top {
      display: none; }
      .homepage .footer .content .logo .scroll_top {
        display: block; }
  .footer .content .social {
    display: -ms-flexbox;
    display: flex; }
    .footer .content .social li {
      margin: 0 15px 0 0; }
      .footer .content .social li a {
        border-radius: 100%;
        border: 2px solid #126AB9;
        width: 50px;
        height: 50px;
        display: block;
        transition: .35s ease; }
        @media (pointer: fine) {
          .footer .content .social li a:hover {
            -ms-transform: scale(1.1);
            transform: scale(1.1);
            background: rgba(18, 106, 185, 0.3); } }
        .footer .content .social li a svg {
          padding: 12px; }

.hero_home {
  overflow: hidden;
  margin: 3vw 0; }
  @media (max-width: 1660px) {
    .hero_home {
      margin: 0; } }
  @media (max-width: 640px) {
    .hero_home {
      margin: 4vw 0 15vw; } }
  .hero_home svg {
    width: 1920px;
    position: relative;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    transition: 0.3s; }
    @media (max-width: 1366px) {
      .hero_home svg {
        width: 120%; } }
    @media (max-width: 640px) {
      .hero_home svg {
        width: 250%;
        left: 70%; } }
    .hero_home svg #linea1 {
      animation: animatePhat1 20s ease-in-out infinite alternate; }
    .hero_home svg #linea2 {
      animation: animatePhat2 15s ease-in-out infinite alternate; }
    .hero_home svg #linea3 {
      animation: animatePhat3 10s ease-in-out infinite alternate; }

@keyframes animatePhat1 {
  from {
    d: path("M-60.272 455.068C50.026 635.451 245.667 565.007 320.503 504.87c50.574-40.64 126.466-160.702 206.688-156.935"); }
  to {
    d: path("M-78.272,413.706c104.17-105.702,195.069-121.162,291.064-122.553 c105.702-1.532,225.191,18.383,314.399,56.783"); } }

@keyframes animatePhat2 {
  from {
    d: path("M766.318 423.711c54.356 109.967 200.363 112.904 299.236 88.716 58.398-14.82 110.696-44.983 169.727-57.936 252.928-49.752 552.102 192.41 853.341 80.237"); }
  to {
    d: path("M766.318,423.711c54.356,109.967,161.891,133.944,226.219,126.335 c142.468-16.851,212.216-127.442,288-159.319c193.021-81.191,683.234-47.489,882.383,147.064"); } }

@keyframes animatePhat3 {
  from {
    d: path("M766.071 424.488c81.839-102.623 226.461-112.042 350.664-107.627 226.783 8.06 324.801-15.667 511.216-61.002 93.65-22.775 230.795-69.229 387.905-176.111"); }
  to {
    d: path("M766.071,424.488c70.202-107.336,170.75-163.932,290.807-131.804 c217.532,58.213,309.874,82.004,473.362-18.383c87.319-53.617,366.128-114.894,528.511,70.468"); } }
    .hero_home svg #title_vivir {
      transition: 0.3s; }
      @media (max-width: 640px) {
        .hero_home svg #title_vivir {
          -ms-transform: translate(338px, -660px);
          transform: translate(338px, -660px); } }

.hero {
  position: relative;
  overflow: hidden; }
  .hero .full_widht {
    max-width: none;
    margin: 0; }
    @media (max-width: 640px) {
      .hero .full_widht.desktop {
        display: none; } }
    .hero .full_widht.mobile {
      display: none; }
      @media (max-width: 640px) {
        .hero .full_widht.mobile {
          display: block; } }
      @media (max-width: 400px) {
        .hero .full_widht.mobile img {
          position: relative;
          left: 50%;
          -ms-transform: translate(-50%, 0px);
          transform: translate(-50%, 0px);
          height: calc(100vh - 10px);
          width: auto; } }
      @media (max-width: 360px) {
        .hero .full_widht.mobile img {
          height: calc(100vh - 75px); } }
    .hero .full_widht .mask {
      position: absolute;
      background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.6) 100%);
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: none; }
      @media (max-width: 640px) {
        .hero .full_widht .mask {
          display: block; } }
    .hero .full_widht .logo {
      position: absolute;
      top: 50px;
      right: 50px;
      max-width: 265px; }
    .hero .full_widht svg {
      position: absolute;
      top: 0;
      left: 0; }
      @media (max-width: 400px) {
        .hero .full_widht svg {
          top: 5rem; } }
      .hero .full_widht svg text {
        font-size: 6rem;
        fill: #fff;
        -ms-transform: translate(0, -40px);
        transform: translate(0, -40px);
        -ms-transform-origin: 50% 0%;
        transform-origin: 50% 0%;
        animation: animTexto 8s ease-in-out infinite alternate; }
        .hero .full_widht svg text#text_mobile {
          -ms-transform: translate(25px, -50px) rotate(0deg);
          transform: translate(25px, -50px) rotate(0deg);
          -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
          font-size: 4rem;
          animation: animTexto_mb 8s ease-in-out infinite alternate; }
          .promover .hero .full_widht svg text#text_mobile {
            font-size: 3.15rem; }
          .preservar .hero .full_widht svg text#text_mobile {
            font-size: 3.4rem; }
      .hero .full_widht svg #lineaTexto {
        animation: lineaTexto 8s ease-in-out infinite alternate; }
      .hero .full_widht svg #lineaTextoMb {
        animation: lineaTextoMb 8s ease-in-out infinite alternate; }

@keyframes animTexto {
  from {
    transform: translate(0, -40px); }
  to {
    transform: translate(5px, -40px); } }

@keyframes animTexto_mb {
  from {
    transform: translate(0, -40px); }
  to {
    transform: translate(5px, -40px); } }

@keyframes lineaTexto {
  from {
    d: path("M0,300.2c450.1-62.1,684.9,204.9,1165.9-18c51.5-24.4,111.9-50.4,177.3-50.7"); }
  to {
    d: path("M0,389.3C554.9,227,887,432.5,1165.9,282.2c85.9-46.3,113.5-57.8,177.3-50.7"); } }

@keyframes lineaTextoMb {
  from {
    d: path("M0.507,745.259 c255.984-49.026,395.068,61.848,641.534,15.281"); }
  to {
    d: path("M0.507,774.359 c298.558-90.571,424.175-13.21,641.233-28.339"); } }
      .hero .full_widht svg #linea-2 {
        animation: anim-linea-2 12s ease-in-out infinite alternate; }

@keyframes anim-linea-2 {
  from {
    d: path("M1920,328.8 c-272.7,77.4-388.6-62.9-453.1,17"); }
  to {
    d: path("M1920,298.8c-226,7.3-357.3-84.1-453.1,47"); } }
      .hero .full_widht svg #linea-3 {
        animation: anim-linea-3 8s ease-in-out infinite alternate; }

@keyframes anim-linea-3 {
  from {
    d: path("M1920,447.9c-136.5,26.4-397.1,32.7-453.2-103.1"); }
  to {
    d: path("M1920,477.9c-227.1-106.9-411.4,64.6-453.2-133.1"); } }
      .hero .full_widht svg #linea-1_mb {
        animation: anim-linea-1_mb 15s ease-in-out infinite alternate; }

@keyframes anim-linea-1_mb {
  from {
    d: path("M0,450.425c126.362-5.688,181.68-109.166,305.936-102.207"); }
  to {
    d: path("M0,341.666c134.822-54.368,163.783,9.682,305.936,6.553"); } }
      .hero .full_widht svg #linea-2_mb {
        animation: anim-linea-2_mb 12s ease-in-out infinite alternate; }

@keyframes anim-linea-2_mb {
  from {
    d: path("M640,464.574 c-97.872,28.064-169.389-52.814-210.364-2.056"); }
  to {
    d: path("M640,396.24 c-90.826-10.946-154.869-9.665-210.364,66.278"); } }
      .hero .full_widht svg #linea-3_mb {
        animation: anim-linea-3_mb 8s ease-in-out infinite alternate; }

@keyframes anim-linea-3_mb {
  from {
    d: path("M640,575.735 c-88.68,1.158-180.845-42.521-210.464-114.217"); }
  to {
    d: path("M640,548.207 c-92.765,35.835-185.016,33.67-210.464-86.689"); } }

.pilares ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media (max-width: 640px) {
    .pilares ul {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .pilares ul li {
    position: relative;
    margin: 2vw;
    transition: .35s 0s ease-out; }

@media (pointer: coarse) and (max-width: 640px) {
  .pilares ul li {
    width: calc(50% - 4vw); } }
    .pilares ul li p {
      position: absolute;
      z-index: 10;
      top: 50%;
      left: 50%;
      text-align: center;
      width: 100%;
      -ms-transform: translate(-50%, -55%);
      transform: translate(-50%, -55%);
      color: #FFFFFF;
      font-size: 2.4rem;
      font-weight: 500;
      line-height: 1.1;
      padding: 0 20px;
      transition: .25s; }
      @media (max-width: 1024px) {
        .pilares ul li p {
          font-size: 2.4vw;
          padding: 0 10px; } }
      @media (max-width: 640px) {
        .pilares ul li p {
          font-size: 4vw; } }
      @media (max-width: 360px) {
        .pilares ul li p {
          font-size: 4.5vw; } }
    .pilares ul li img {
      width: 100%;
      max-width: 260px;
      animation: rotate360 50s linear infinite; }
      @media (max-width: 640px) {
        .pilares ul li img {
          max-width: 200px; } }
      @media (max-width: 360px) {
        .pilares ul li img {
          max-width: 145px; } }
      .pilares ul li img.border {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        animation: rotate360 25s linear infinite reverse; }
    .pilares ul li .arrow {
      animation: none;
      position: absolute;
      bottom: 50px;
      left: 50%;
      width: 100%;
      max-width: 50px;
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      transition: .35s 0s ease-out; }
      @media (max-width: 990px) {
        .pilares ul li .arrow {
          bottom: 3vw; } }
      @media (max-width: 640px) {
        .pilares ul li .arrow {
          bottom: 5vw; } }
    .pilares ul li a {
      -ms-transform: scale(1);
      transform: scale(1);
      display: block;
      transition: .35s 0s ease-out;
      will-change: transform; }
      .pilares ul li a:hover {
        -ms-transform: scale(1.05) !important;
        transform: scale(1.05) !important; }
        .pilares ul li a:hover .arrow {
          -ms-transform: translate(-50%, -50%) scale(1.3);
          transform: translate(-50%, -50%) scale(1.3); }

.ornament {
  width: 100%;
  max-width: 1200px;
  display: block; }
  .ornament svg #linea-o1 {
    animation: animateOrnament1 8s ease-in-out infinite alternate; }
  .ornament svg #linea-o2 {
    animation: animateOrnament2 4s ease-in-out infinite alternate; }
  .ornament svg #circulo-o3 {
    animation: animateOrnament3 15s ease-in-out infinite alternate; }
  @media (max-width: 768px) {
    .ornament svg #linea-o1, .ornament svg #linea-o2 {
      stroke-width: 2px; } }

@keyframes animateOrnament1 {
  from {
    d: path("M169.063 46.113c168.266-76.962 238.539 147.931 370.683 83.717"); }
  to {
    d: path("M169.063 46.113C340.506 68.07 276.9 246.675 539.746 129.83"); } }

@keyframes animateOrnament2 {
  from {
    d: path("M921.172 119.7c-53.002-37.129-142.585 60.819-195.293 20.996"); }
  to {
    d: path("M921.172,119.7c-73.543-67.026-124.641,98.568-195.293,20.996"); } }

@keyframes animateOrnament3 {
  from {
    d: path("M1035.011,129.891c-20.994,10.917-48.278,15.548-68.898,10.552	c-16.964-3.887-28.858-12.986-33.491-25.625c-10.51-32.504,23.848-62.643,54.955-73.655 C1072.177,9.39,1117.435,87.406,1035.011,129.891z"); }
  to {
    d: path("M1042.131,106.16c-15.995,17.438-40.051,31.12-61.136,33.477	c-17.27,2.149-31.56-2.335-40.235-12.627c-20.992-26.95,0.987-67.022,26.453-88.007 C1035.848-19.786,1105.057,38.048,1042.131,106.16z"); } }

.highlight .subtitle {
  width: 100%;
  max-width: 560px;
  margin: 6rem auto 5rem; }

.highlight .button {
  max-width: 200px;
  display: block;
  text-align: center;
  margin: 0 auto; }

.highlight .box {
  font-size: 2.2rem;
  line-height: 1.4;
  background: #126AB9;
  border-radius: 25px;
  padding: 30px;
  color: #FFFFFF;
  width: 100%;
  max-width: 750px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .highlight .box {
      font-size: 1.9rem;
      margin: 0 auto 5rem; } }
  .highlight .box p {
    margin: 0.75rem 0 0; }

.highlight .link {
  border: 2px solid;
  border-radius: 25px;
  padding: 30px;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-color: #126AB9;
  color: #126AB9;
  max-width: 250px;
  margin: 0 auto;
  text-align: center;
  transition: .4s ease-out; }
  @media (pointer: fine) {
    .highlight .link:hover {
      background: rgba(18, 106, 185, 0.12); }
      .highlight .link:hover .button {
        color: #FFFFFF;
        background: rgba(18, 106, 185, 0.6);
        left: calc(50% - 25px); }
        .highlight .link:hover .button path {
          fill: #FFFFFF; } }
  @media (max-width: 990px) {
    .highlight .link {
      height: auto;
      width: 70%; } }
  @media (max-width: 640px) {
    .highlight .link {
      width: 100%; } }
  .highlight .link .button {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 100%;
    position: relative;
    transition: 0.4s ease-out;
    left: 0; }
    .highlight .link .button svg {
      width: 100%; }
      .highlight .link .button svg path {
        fill: #126AB9; }

.videos_yt {
  background: #E8F5FB;
  padding: 8rem 0; }
  .producir .videos_yt {
    background: rgba(242, 124, 0, 0.15); }
    .producir .videos_yt .title {
      color: #F27C00; }
    .producir .videos_yt .text {
      color: #F27C00; }
  .promover .videos_yt {
    background: rgba(129, 67, 141, 0.15); }
    .promover .videos_yt .title {
      color: #81438D; }
    .promover .videos_yt .text {
      color: #81438D; }
  .preservar .videos_yt {
    background: rgba(140, 179, 12, 0.15); }
    .preservar .videos_yt .title {
      color: #8CB30C; }
    .preservar .videos_yt .text {
      color: #8CB30C; }
  .videos_yt .content .video_wrapper {
    width: 100%;
    max-width: 1260px;
    margin: 0 auto; }
    @media (max-width: 1660px) {
      .videos_yt .content .video_wrapper {
        max-width: 1020px; } }
    @media (max-width: 1366px) {
      .videos_yt .content .video_wrapper {
        max-width: 840px; } }
    .videos_yt .content .video_wrapper .video-responsive {
      height: 0;
      overflow: hidden;
      padding-bottom: 56.25%;
      position: relative; }
      .videos_yt .content .video_wrapper .video-responsive iframe, .videos_yt .content .video_wrapper .video-responsive object, .videos_yt .content .video_wrapper .video-responsive embed {
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%; }
  .videos_yt .content .text,
  .videos_yt .content .subtitle {
    font-size: 3rem;
    line-height: 1.3;
    width: 100%;
    margin: 4rem auto;
    max-width: 1260px; }
    @media (max-width: 1660px) {
      .videos_yt .content .text,
      .videos_yt .content .subtitle {
        max-width: 1020px; } }
    @media (max-width: 1366px) {
      .videos_yt .content .text,
      .videos_yt .content .subtitle {
        max-width: 840px; } }
    @media (max-width: 768px) {
      .videos_yt .content .text,
      .videos_yt .content .subtitle {
        font-size: 2.4rem; } }
    .videos_yt .content .text p,
    .videos_yt .content .subtitle p {
      padding: 0 10vw 1rem 0; }
  .videos_yt .content .subtitle {
    max-width: none; }

.logros {
  margin-bottom: 12rem; }
  @media (max-width: 990px) {
    .logros {
      margin-bottom: 8rem; } }
  .logros ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }
    @media (max-width: 990px) {
      .logros ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .logros ul li {
      position: relative;
      width: 100%;
      overflow: hidden; }
      @media (max-width: 990px) {
        .logros ul li {
          max-width: 320px; } }
      @media (max-width: 768px) {
        .logros ul li {
          width: 50%; } }
      @media (max-width: 640px) {
        .logros ul li {
          width: 100%; } }
      .logros ul li:nth-child(2n) img {
        animation: rotate360 25s linear infinite reverse; }
      .logros ul li img {
        width: 100%;
        height: auto;
        animation: rotate360 25s linear infinite; }
      .logros ul li .data {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 0 3.5vw;
        line-height: 1.3;
        color: #126AB9;
        text-align: center; }
        @media (max-width: 1366px) {
          .logros ul li .data {
            font-size: 1.2vw;
            padding: 0 4vw; } }
        @media (max-width: 990px) {
          .logros ul li .data {
            font-size: 1.6rem;
            padding: 0 6rem; } }
        @media (max-width: 360px) {
          .logros ul li .data {
            font-size: 4.5vw;
            padding: 0 16vw; } }
        .logros ul li .data .title {
          margin: -1vw 0 0;
          text-align: center;
          font-size: 5rem; }
          @media (max-width: 1366px) {
            .logros ul li .data .title {
              font-size: 4vw; } }
          @media (max-width: 990px) {
            .logros ul li .data .title {
              font-size: 5rem; } }
          @media (max-width: 360px) {
            .logros ul li .data .title {
              font-size: 14vw; } }
          .logros ul li .data .title span {
            font-size: 32px; }
        .logros ul li .data.white {
          color: #FFFFFF; }
          .logros ul li .data.white .title {
            color: #FFFFFF; }

.descargas {
  margin-bottom: 12rem; }
  @media (max-width: 990px) {
    .descargas {
      margin-bottom: 6rem; } }
  @media (max-width: 640px) {
    .descargas {
      margin-bottom: 3rem; } }
  .descargas ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 1rem auto 8rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .descargas ul li {
      position: relative;
      width: calc(33.33% - 20px);
      overflow: hidden;
      margin: 0 1rem; }
      @media (max-width: 1024px) {
        .descargas ul li {
          width: calc(50% - 20px); }
          .descargas ul li:nth-child(3) {
            -ms-flex-order: 4;
            order: 4; }
          .descargas ul li:nth-child(4) {
            -ms-flex-order: 3;
            order: 3; } }
      @media (max-width: 640px) {
        .descargas ul li {
          width: 100%;
          margin: 0; }
          .descargas ul li:nth-child(2) {
            -ms-flex-order: 3;
            order: 3; }
          .descargas ul li:nth-child(3) {
            -ms-flex-order: 4;
            order: 4; }
          .descargas ul li:nth-child(4) {
            -ms-flex-order: 2;
            order: 2; } }
      .descargas ul li .button {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        padding: 2px 25px 2px 0;
        line-height: 1.2;
        font-weight: 500;
        background: #FFFFFF;
        z-index: 1;
        margin: 1rem auto;
        border: none;
        box-shadow: inset 0 0 0 2px #126AB9; }
        @media (pointer: fine) {
          .descargas ul li .button:hover {
            background: rgba(18, 106, 185, 0.25);
            color: #126AB9; }
            .descargas ul li .button:hover .arrow {
              animation: arrow 0.25s ease-in alternate 4; }
          @keyframes arrow {
            from {
              transform: translateY(0); }
            to {
              transform: translateY(10px); } } }
      .descargas ul li img {
        width: 100%;
        height: auto;
        max-width: 100px; }
        @media (max-width: 768px) {
          .descargas ul li img {
            margin: 0 -10px 0 -10px; } }

.producir .info {
  color: #F27C00; }
  .producir .info .title {
    color: inherit; }
  .producir .info .link {
    border-color: #F27C00;
    color: #F27C00;
    transition: .4s ease-out; }
    @media (pointer: fine) {
      .producir .info .link:hover {
        background: rgba(242, 124, 0, 0.12); }
        .producir .info .link:hover .button {
          color: #FFFFFF;
          background: rgba(242, 124, 0, 0.6);
          left: calc(50% - 25px); }
          .producir .info .link:hover .button path {
            fill: #FFFFFF; } }
  .producir .info .button {
    border: 2px solid #F27C00;
    color: #F27C00; }
    .producir .info .button path {
      fill: #F27C00; }

.promover .info {
  color: #81438D; }
  .promover .info .title {
    color: inherit; }
  .promover .info .link {
    border-color: #81438D;
    color: #81438D;
    transition: .4s ease-out; }
    @media (pointer: fine) {
      .promover .info .link:hover {
        background: rgba(129, 67, 141, 0.12); }
        .promover .info .link:hover .button {
          color: #FFFFFF;
          background: rgba(129, 67, 141, 0.6);
          left: calc(50% - 25px); }
          .promover .info .link:hover .button path {
            fill: #FFFFFF; } }
  .promover .info .button {
    border: 2px solid #81438D;
    color: #81438D; }
    .promover .info .button path {
      fill: #81438D; }

.preservar .info {
  color: #227C26; }
  .preservar .info .title {
    color: inherit; }
    .preservar .info .title.fantasy {
      color: #8CB30C; }
  .preservar .info .link {
    border-color: #227C26;
    color: #227C26;
    transition: .4s ease-out; }
    @media (pointer: fine) {
      .preservar .info .link:hover {
        background: rgba(34, 124, 38, 0.12); }
        .preservar .info .link:hover .button {
          color: #FFFFFF;
          background: rgba(34, 124, 38, 0.6);
          left: calc(50% - 25px); }
          .preservar .info .link:hover .button path {
            fill: #FFFFFF; } }
  .preservar .info .button {
    border: 2px solid #227C26;
    color: #227C26; }
    .preservar .info .button path {
      fill: #227C26; }

.info .text {
  font-size: 3.5rem;
  line-height: 1.3;
  width: 100%;
  max-width: 900px;
  color: #8C8C8C; }
  @media (max-width: 768px) {
    .info .text {
      font-size: 2.5rem; } }

.info ul {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 8rem auto 0; }
  @media (max-width: 990px) {
    .info ul {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .info ul li {
    position: relative;
    margin: 0 2vw;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center; }
    @media (max-width: 990px) {
      .info ul li {
        -ms-flex-direction: row;
        flex-direction: row;
        margin: 0 0 6rem;
        -ms-flex-align: initial;
        align-items: initial; } }
    @media (max-width: 640px) {
      .info ul li {
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center; } }
    .info ul li .box {
      position: relative;
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-align: center;
      align-items: center; }
      @media (max-width: 990px) {
        .info ul li .box {
          max-width: 200px;
          margin: 0 4rem 0 0;
          width: 30%; } }
      @media (max-width: 640px) {
        .info ul li .box {
          width: 100%;
          max-width: none;
          margin: 0; } }
      .info ul li .box img {
        width: 100%;
        height: auto;
        max-width: 200px; }
        @media (max-width: 360px) {
          .info ul li .box img {
            max-width: 145px; } }
        @media (max-width: 990px) {
          .info ul li .box img {
            max-width: 150px; } }
      .info ul li .box .border {
        width: 100%;
        max-width: 200px;
        position: absolute;
        top: 0;
        left: 50%;
        -ms-transform: translate(-50%, 0);
        transform: translate(-50%, 0); }
        .info ul li .box .border img {
          animation: rotate360 25s linear infinite;
          -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }
        @media (max-width: 990px) {
          .info ul li .box .border {
            max-width: 150px; } }
      .info ul li .box .title {
        font-size: 2.4rem;
        line-height: 1.2;
        text-align: center;
        margin: 3rem 0 4rem; }
        @media (max-width: 640px) {
          .info ul li .box .title {
            margin: 2rem 0 3rem; } }
    .info ul li:nth-child(2n) .border img {
      animation: rotate360 25s linear infinite reverse; }
    .info ul li .link {
      border: 2px solid;
      border-radius: 25px;
      padding: 30px !important;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: justify;
      justify-content: space-between;
      font-size: 16px;
      line-height: 1.6;
      text-align: left;
      font-family: 'Raleway', sans-serif; }
      @media (max-width: 990px) {
        .info ul li .link {
          height: auto;
          width: 70%; } }
      @media (max-width: 640px) {
        .info ul li .link {
          width: 100%; } }
      .info ul li .link .button {
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 100%;
        position: relative;
        transition: 0.4s ease-out;
        left: 0; }
        .info ul li .link .button svg {
          width: 100%; }

html,
body {
  min-height: 100%; }

body.recetas-aniversario {
  background: #e6e6e6;
  position: relative;
  overflow-x: hidden; }

.recetas-aniversario {
  background: transparent;
  padding: 2rem 0 3rem; }
  .recetas-aniversario .recetas-bg {
    position: fixed;
    inset: -12%;
    z-index: 0;
    pointer-events: none; }
    .recetas-aniversario .recetas-bg::before, .recetas-aniversario .recetas-bg::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none; }
    .recetas-aniversario .recetas-bg::before {
      background: radial-gradient(35% 35% at 8% 12%, rgba(15, 79, 183, 0.28), transparent 62%), radial-gradient(30% 30% at 86% 18%, rgba(242, 163, 59, 0.26), transparent 60%), radial-gradient(28% 28% at 50% 82%, rgba(94, 231, 255, 0.18), transparent 62%);
      filter: blur(8px);
      opacity: 0.9;
      animation: bg-drift 28s ease-in-out infinite alternate; }
    .recetas-aniversario .recetas-bg::after {
      background: radial-gradient(120% 120% at 50% 0%, rgba(255, 255, 255, 0.35), transparent 60%), repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0, rgba(255, 255, 255, 0.08) 2px, transparent 2px, transparent 6px);
      mix-blend-mode: soft-light;
      opacity: 0.5;
      animation: bg-grain 22s linear infinite; }
  .recetas-aniversario main,
  .recetas-aniversario .aniversario-wrapper {
    position: relative;
    z-index: 1; }
  .recetas-aniversario .content {
    overflow: visible; }
  .recetas-aniversario .hero-brand-bar {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    margin: 0 auto 1.6rem;
    text-align: center; }
    .recetas-aniversario .hero-brand-bar .hero-logo {
      width: 124px;
      filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.18)); }
    .recetas-aniversario .hero-brand-bar .hero-badge {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding: 0.46rem 1.1rem;
      border-radius: 999px;
      border: 1px solid rgba(15, 79, 183, 0.35);
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(220, 234, 255, 0.9));
      font-weight: 720;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      font-size: 1.02rem;
      color: #0b2f66;
      box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
      text-shadow: none; }
    @media (max-width: 768px) {
      .recetas-aniversario .hero-brand-bar {
        gap: 0.55rem; }
        .recetas-aniversario .hero-brand-bar .hero-logo {
          width: 102px; }
        .recetas-aniversario .hero-brand-bar .hero-badge {
          font-size: 0.96rem;
          padding: 0.42rem 1rem; } }
  .recetas-aniversario .aniversario-hero {
    position: relative;
    padding: 0;
    background: none;
    color: #FFFFFF;
    text-align: center;
    overflow: hidden;
    width: calc(100% - (10px * 1.2));
    max-width: 1040px;
    margin: 0 auto 1.4rem;
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.26);
    isolation: isolate; }
    .recetas-aniversario .aniversario-hero .hero-bg {
      width: 100%;
      height: auto;
      display: block;
      position: relative;
      z-index: 0;
      border-radius: inherit; }
    .recetas-aniversario .aniversario-hero .hero-overlay {
      display: none; }
    @media (max-width: 768px) {
      .recetas-aniversario .aniversario-hero {
        margin: 0 auto 1rem; } }
  .recetas-aniversario .hero-copy {
    margin: 0 auto 1.8rem;
    max-width: 1020px;
    padding: clamp(1.8rem, 4vw, 2.6rem);
    text-align: center;
    color: #0b2f66;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem; }
    .recetas-aniversario .hero-copy h1 {
      font-size: clamp(2.4rem, 4.6vw, 4rem);
      margin: 0;
      line-height: 1.1;
      color: #0b2f66;
      font-weight: 800;
      letter-spacing: 0.01em;
      background: linear-gradient(115deg, #0b2f66 0%, #437fee 42%, #3f8bff 65%, #00325c 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      text-shadow: 0 8px 18px rgba(11, 47, 102, 0.14); }
    .recetas-aniversario .hero-copy p {
      max-width: 780px;
      margin: 0 auto;
      line-height: 1.7;
      font-size: 1.8rem;
      color: #1c2c40; }
    @media (max-width: 768px) {
      .recetas-aniversario .hero-copy p {
        font-size: 1.45rem; } }
  .recetas-aniversario .language-switcher {
    margin: 2rem auto;
    position: relative;
    z-index: 2; }
    .recetas-aniversario .language-switcher .content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 0.6rem;
      padding: 0;
      background: transparent;
      border: none;
      box-shadow: none; }
    .recetas-aniversario .language-switcher .language-options {
      display: -ms-flexbox;
      display: flex;
      gap: 0.55rem;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
    .recetas-aniversario .language-switcher .lang-btn {
      box-sizing: border-box;
      border: 1px solid rgba(18, 106, 185, 0.38);
      background: rgba(255, 255, 255, 0.98);
      color: #0b2f66;
      width: 46px;
      height: 46px;
      padding: 0;
      border-radius: 50%;
      font-weight: 760;
      letter-spacing: 0.02em;
      font-size: 1.1rem;
      padding: 0 !important;
      cursor: pointer;
      transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
      box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center; }
      .recetas-aniversario .language-switcher .lang-btn:hover {
        -ms-transform: translateY(-1px);
        transform: translateY(-1px);
        box-shadow: 0 9px 18px rgba(0, 0, 0, 0.12);
        border-color: rgba(18, 106, 185, 0.55); }
      .recetas-aniversario .language-switcher .lang-btn.active {
        background: linear-gradient(145deg, #0f4fb7, #1a78d6);
        color: #FFFFFF;
        border-color: rgba(15, 79, 183, 0.9);
        box-shadow: 0 10px 22px rgba(18, 106, 185, 0.28);
        -ms-transform: translateY(-1px) scale(1.02);
        transform: translateY(-1px) scale(1.02); }
      .recetas-aniversario .language-switcher .lang-btn:focus-visible {
        outline: 2px solid rgba(18, 106, 185, 0.55);
        outline-offset: 3px; }
    @media (max-width: 640px) {
      .recetas-aniversario .language-switcher .content {
        gap: 0.5rem; }
      .recetas-aniversario .language-switcher .lang-btn {
        width: 44px;
        height: 44px; } }
  .recetas-aniversario.recetas-anim-ready .recetas-accordion details.recipe-card {
    opacity: 0;
    -ms-transform: translateY(24px);
    transform: translateY(24px); }
  .recetas-aniversario.recetas-anim-ready .recetas-accordion details.recipe-card.is-visible {
    opacity: 1;
    -ms-transform: translateY(0);
    transform: translateY(0);
    transition-delay: var(--card-delay, 0ms); }
  .recetas-aniversario .recetas-accordion {
    background: transparent;
    padding: 1.2rem 0 2.4rem;
    transition: opacity 0.22s ease, filter 0.22s ease, transform 0.22s ease; }
    .recetas-aniversario .recetas-accordion.is-switching {
      opacity: 0.35;
      filter: blur(1px);
      -ms-transform: translateY(4px);
      transform: translateY(4px); }
    .recetas-aniversario .recetas-accordion .content {
      display: -ms-grid;
      display: grid;
      gap: 2.6rem;
      width: calc(100% - (10px * 2));
      max-width: 1040px;
      margin: 0 auto; }
      @media (max-width: 768px) {
        .recetas-aniversario .recetas-accordion .content {
          width: calc(100% - (10px * 1.2)); } }
    .recetas-aniversario .recetas-accordion .accordion-grid {
      display: -ms-grid;
      display: grid;
      gap: 2.4rem; }
    .recetas-aniversario .recetas-accordion details.recipe-card {
      position: relative;
      background: linear-gradient(180deg, rgba(0, 43, 111, 0.94) 0%, rgba(0, 43, 111, 0.96) 60%, rgba(0, 43, 111, 0.98) 100%);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 15px;
      box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.02) inset, 0 0 0 1px rgba(18, 106, 185, 0.08);
      overflow: hidden;
      transition-property: opacity, transform, box-shadow, border-color;
      transition-duration: 0.75s;
      transition-timing-function: ease; }
      .recetas-aniversario .recetas-accordion details.recipe-card .recipe-content {
        opacity: 0;
        -ms-transform: translateY(8px);
        transform: translateY(8px);
        transition: opacity 0.28s ease, transform 0.28s ease; }
      .recetas-aniversario .recetas-accordion details.recipe-card.is-open {
        border-color: rgba(18, 106, 185, 0.4);
        box-shadow: 0 26px 62px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(18, 106, 185, 0.25) inset; }
      @media (pointer: fine) {
        .recetas-aniversario .recetas-accordion details.recipe-card:hover {
          -ms-transform: translateY(-2px);
          transform: translateY(-2px);
          box-shadow: 0 22px 54px rgba(0, 0, 0, 0.45); } }
      @media (pointer: fine) {
        .recetas-aniversario .recetas-accordion details.recipe-card:hover {
          transition-duration: 0.25s; } }
      .recetas-aniversario .recetas-accordion details.recipe-card[open] .recipe-content {
        opacity: 1;
        -ms-transform: translateY(0);
        transform: translateY(0);
        animation: recipe-open-fade 0.3s ease both; }
      .recetas-aniversario .recetas-accordion details.recipe-card[open].is-opening summary .arrow {
        animation: arrow-pop 0.36s ease both; }
    .recetas-aniversario .recetas-accordion details summary {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      align-items: stretch;
      gap: 1.5rem;
      padding: 0 1.8rem 0 0;
      cursor: pointer;
      list-style: none;
      background: #002b6f;
      backdrop-filter: blur(3px);
      position: relative;
      z-index: 1;
      isolation: isolate;
      border-radius: 12px;
      border-bottom: none;
      overflow: hidden;
      min-height: 102px; }
      .recetas-aniversario .recetas-accordion details summary::-webkit-details-marker {
        display: none; }
      .recetas-aniversario .recetas-accordion details summary::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(64, 156, 255, 0.28) 0%, rgba(0, 43, 111, 0) 70%), radial-gradient(160% 140% at 0% 50%, rgba(94, 231, 255, 0.16), transparent 60%);
        background-size: 140% 140%;
        background-position: 0% 50%;
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
        z-index: 0; }
      .recetas-aniversario .recetas-accordion details summary:focus-visible {
        outline: 2px solid rgba(242, 163, 59, 0.45);
        outline-offset: 3px; }
    .recetas-aniversario .recetas-accordion .summary-thumb {
      display: block;
      -ms-flex: 0 0 200px;
      flex: 0 0 200px;
      width: 200px;
      height: auto;
      aspect-ratio: 16 / 9;
      border-radius: 0;
      overflow: hidden;
      margin: 0;
      -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
      background: #002b6f;
      position: relative;
      z-index: 1; }
      .recetas-aniversario .recetas-accordion .summary-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        filter: grayscale(100%) brightness(0.95) contrast(1.05);
        transition: filter 0.25s ease, transform 0.35s ease; }
    .recetas-aniversario .recetas-accordion .summary-title {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: center;
      justify-content: center;
      gap: 0.45rem;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
      padding: 1.5rem 0;
      position: relative;
      z-index: 1;
      transition: transform 0.25s ease; }
    .recetas-aniversario .recetas-accordion .recipe-name {
      display: block;
      color: #FFFFFF;
      font-weight: 800;
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      margin: 0;
      line-height: 1.1; }
    .recetas-aniversario .recetas-accordion .summary-meta {
      display: -ms-flexbox;
      display: flex;
      gap: 0.8rem;
      -ms-flex-align: center;
      align-items: center;
      color: rgba(255, 255, 255, 0.78);
      font-size: 1.3rem;
      transition: transform 0.25s ease, color 0.25s ease; }
      .recetas-aniversario .recetas-accordion .summary-meta .dot {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #ffb861; }
    .recetas-aniversario .recetas-accordion .pill {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
      padding: 0.32rem 0.86rem;
      border-radius: 12px;
      background: rgba(242, 163, 59, 0.18);
      color: #f2a33b;
      font-weight: 750;
      font-size: 1.08rem;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      line-height: 1.2;
      -ms-flex-item-align: start;
      align-self: flex-start;
      transition: background 0.18s ease, color 0.18s ease; }
    .recetas-aniversario .recetas-accordion .arrow {
      width: 22px;
      height: 22px;
      fill: #f2a33b;
      background: rgba(242, 163, 59, 0.12);
      border-radius: 50%;
      padding: 4px;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
      margin-left: 0.2rem;
      position: relative;
      z-index: 1;
      transition: transform 0.2s ease, background 0.2s ease, fill 0.2s ease; }
    @media (pointer: fine) {
      .recetas-aniversario .recetas-accordion details summary:hover .summary-thumb img {
        filter: grayscale(0%) brightness(1.05) contrast(1.05);
        -ms-transform: scale(1.04);
        transform: scale(1.04); } }
    .recetas-aniversario .recetas-accordion details[open] summary {
      border-radius: 12px 12px 0 0;
      background: linear-gradient(90deg, #002b6f 0%, #0b3a7a 100%); }
      .recetas-aniversario .recetas-accordion details[open] summary .arrow {
        -ms-transform: rotate(90deg) scale(1.05);
        transform: rotate(90deg) scale(1.05);
        background: rgba(242, 163, 59, 0.16); }
    .recetas-aniversario .recetas-accordion details summary:hover::after,
    .recetas-aniversario .recetas-accordion details summary:focus-visible::after,
    .recetas-aniversario .recetas-accordion details[open] summary::after {
      opacity: 1; }
    .recetas-aniversario .recetas-accordion details[open] summary .summary-title {
      -ms-transform: translateY(-2px);
      transform: translateY(-2px); }
    .recetas-aniversario .recetas-accordion details[open] summary .summary-meta {
      color: rgba(255, 255, 255, 0.9);
      -ms-transform: translateY(-1px);
      transform: translateY(-1px); }
    .recetas-aniversario .recetas-accordion details[open] summary .summary-thumb img {
      filter: grayscale(0%) brightness(1.06) contrast(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05); }
    .recetas-aniversario .recetas-accordion details[open] summary .pill {
      -ms-transform: none;
      transform: none;
      box-shadow: none; }
    .recetas-aniversario .recetas-accordion .recipe-content {
      padding: 2.8rem;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: minmax(0, 1fr) minmax(0, 1.1fr);
      grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
      grid-auto-rows: auto;
      gap: 3rem;
      -ms-flex-align: start;
      align-items: start;
      position: relative;
      border-radius: 0 0 14px 14px; }
      @media (max-width: 900px) {
        .recetas-aniversario .recetas-accordion .recipe-content {
          -ms-grid-columns: 1fr;
          grid-template-columns: 1fr;
          gap: 1.6rem;
          padding: 2.5rem; } }
    .recetas-aniversario .recetas-accordion .recipe-image {
      width: 100%;
      height: auto;
      aspect-ratio: 1 / 1;
      border-radius: 14px;
      display: -ms-grid;
      display: grid;
      -ms-flex-align: stretch;
      align-items: stretch;
      -ms-grid-column-align: stretch;
      justify-items: stretch;
      color: #7b8277;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 1.3rem;
      -ms-grid-row-align: start;
      align-self: start;
      position: relative;
      isolation: isolate; }
      .recetas-aniversario .recetas-accordion .recipe-image > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: inherit;
        transition: filter 0.35s ease, transform 0.4s ease; }
      .recetas-aniversario .recetas-accordion .recipe-image::before, .recetas-aniversario .recetas-accordion .recipe-image::after {
        content: "";
        position: absolute;
        inset: -26%;
        border-radius: 50%;
        pointer-events: none;
        opacity: 0;
        mix-blend-mode: screen;
        transition: opacity 0.35s ease; }
      .recetas-aniversario .recetas-accordion .recipe-image::before {
        background: radial-gradient(closest-side at 32% 32%, rgba(242, 163, 59, 0.32), transparent 60%);
        animation: orb-spin 18s linear infinite; }
      .recetas-aniversario .recetas-accordion .recipe-image::after {
        background: radial-gradient(closest-side at 72% 68%, rgba(94, 231, 255, 0.28), transparent 62%);
        animation: orb-spin-rev 16s linear infinite; }
    .recetas-aniversario .recetas-accordion details.recipe-card:hover .recipe-image::before,
    .recetas-aniversario .recetas-accordion details.recipe-card:hover .recipe-image::after,
    .recetas-aniversario .recetas-accordion details[open] .recipe-image::before,
    .recetas-aniversario .recetas-accordion details[open] .recipe-image::after {
      opacity: 0.78; }
    .recetas-aniversario .recetas-accordion details[open] .recipe-image > img,
    .recetas-aniversario .recetas-accordion details.recipe-card:hover .recipe-image > img {
      filter: saturate(1.05) contrast(1.04);
      -ms-transform: scale(1.02);
      transform: scale(1.02); }
    .recetas-aniversario .recetas-accordion .recipe-body {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 1.6rem;
      border: none;
      padding: 0;
      background: transparent;
      position: relative;
      -ms-grid-column: 2;
      grid-column: 2;
      -ms-grid-row: 1;
      grid-row: 1;
      -ms-flex-item-align: stretch;
      align-self: stretch; }
      @media (max-width: 900px) {
        .recetas-aniversario .recetas-accordion .recipe-body {
          -ms-grid-column: 1;
          grid-column: 1;
          -ms-grid-row: 2;
          grid-row: 2;
          padding: 0.4rem 0 0; } }
      .recetas-aniversario .recetas-accordion .recipe-body > .recipe-section {
        background: transparent;
        border: none;
        border-radius: 0;
        padding: 0.6rem 0 0.4rem;
        -ms-flex: 1;
        flex: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        box-shadow: none; }
    .recetas-aniversario .recetas-accordion .recipe-section h4 {
      position: relative;
      margin: 0 0 0.9rem;
      color: #ffb861;
      font-size: 1.65rem;
      font-weight: 820;
      letter-spacing: 0.02em;
      display: inline-block;
      padding-bottom: 0.2rem; }
      .recetas-aniversario .recetas-accordion .recipe-section h4::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 36%;
        height: 3px;
        border-radius: 999px;
        background: linear-gradient(90deg, #f2a33b 0%, transparent 100%);
        opacity: 0.8; }
    .recetas-aniversario .recetas-accordion .recipe-section ul,
    .recetas-aniversario .recetas-accordion .recipe-section ol {
      margin: 0;
      line-height: 1.7;
      color: #dfe8fb;
      font-size: 1.45rem;
      list-style-position: outside;
      list-style-type: disc;
      background: transparent;
      border-radius: 0;
      padding: 0 0 0 1.6rem; }
    .recetas-aniversario .recetas-accordion .recipe-section ul li,
    .recetas-aniversario .recetas-accordion .recipe-section ol li {
      position: relative;
      padding-right: 0.3rem;
      list-style-type: inherit;
      padding-bottom: 0.4rem; }
    .recetas-aniversario .recetas-accordion .recipe-section ul li {
      padding-left: 0.4rem; }
    .recetas-aniversario .recetas-accordion .recipe-section ul li::marker {
      color: #f2a33b;
      font-weight: 700; }
    .recetas-aniversario .recetas-accordion .recipe-section ol {
      counter-reset: step;
      list-style-type: decimal; }
    .recetas-aniversario .recetas-accordion .recipe-section ol li::marker {
      color: #f2a33b;
      font-weight: 700; }
    .recetas-aniversario .recetas-accordion .recipe-footnote {
      color: rgba(255, 255, 255, 0.72);
      font-size: 1.4rem;
      margin-top: 0.4rem; }
    @media (max-width: 900px) {
      .recetas-aniversario .recetas-accordion details summary {
        padding-right: 1.2rem;
        min-height: 92px; }
      .recetas-aniversario .recetas-accordion .summary-thumb {
        -ms-flex-preferred-size: 120px;
        flex-basis: 120px;
        width: 120px; }
      .recetas-aniversario .recetas-accordion .summary-title {
        padding: 1.1rem 0; } }
    @media (max-width: 640px) {
      .recetas-aniversario .recetas-accordion details summary {
        gap: 0.7rem;
        padding-right: 1rem; }
      .recetas-aniversario .recetas-accordion .summary-thumb {
        -ms-flex-preferred-size: 110px;
        flex-basis: 110px;
        width: 110px; }
      .recetas-aniversario .recetas-accordion .recipe-name {
        font-size: 1.7rem; }
      .recetas-aniversario .recetas-accordion .summary-meta {
        font-size: 1.2rem; } }
  .recetas-aniversario .recetas-bottom {
    width: 100%;
    min-height: 510px;
    background-image: url("/assets/img/recetas-bottom.png");
    background-size: contain;
    background-position: center bottom;
    background-repeat: no-repeat;
    display: block;
    margin-top: -4px; }
    @media (max-width: 640px) {
      .recetas-aniversario .recetas-bottom {
        min-height: 200px; } }

@keyframes orb-spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

@keyframes orb-spin-rev {
  from {
    transform: rotate(360deg); }
  to {
    transform: rotate(0deg); } }

@keyframes recipe-open-fade {
  from {
    opacity: 0;
    transform: translateY(8px); }
  to {
    opacity: 1;
    transform: translateY(0); } }

@keyframes arrow-pop {
  0% {
    transform: rotate(90deg) scale(0.92); }
  60% {
    transform: rotate(90deg) scale(1.12); }
  100% {
    transform: rotate(90deg) scale(1.05); } }

@keyframes bg-drift {
  0% {
    transform: translate3d(-1%, -2%, 0) scale(1); }
  50% {
    transform: translate3d(2%, 1%, 0) scale(1.04); }
  100% {
    transform: translate3d(-2%, 2%, 0) scale(1.06); } }

@keyframes bg-grain {
  0% {
    transform: translate3d(0, 0, 0); }
  50% {
    transform: translate3d(-1.5%, 1%, 0); }
  100% {
    transform: translate3d(1.5%, -1.5%, 0); } }

@media (prefers-reduced-motion: reduce) {
  body.recetas-aniversario {
    background-attachment: scroll; }
  .recetas-aniversario .recetas-accordion,
  .recetas-aniversario details.recipe-card,
  .recetas-aniversario details.recipe-card .recipe-content,
  .recetas-aniversario .recipe-image::before,
  .recetas-aniversario .recipe-image::after,
  .recetas-aniversario .summary-thumb img,
  .recetas-aniversario .arrow,
  .recetas-aniversario .recetas-bg::before,
  .recetas-aniversario .recetas-bg::after {
    animation: none !important;
    transition: none !important; } }
