:root {
    --color-primary: #168369;
    --color-secondary: #00dfb2;
    --light-primary: var(--color-primary);
}

.mainmenu>li>a::before,
.axil-footer-widget .inner ul li a::after {
    background-color: #1ed5b1 !important;
}

/* Page Loader */
.animation-block {
    position: relative;
}

.js .loading::before {
    content: '';
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-bg);
}

.js .loading::after {
    content: '';
    position: fixed;
    z-index: 100000;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0.4;
    background: var(--color-link);
    animation: loaderAnim 0.7s linear infinite alternate forwards;
}

@keyframes loaderAnim {
    to {
        opacity: 1;
        transform: scale3d(0.5, 0.5, 1);
    }
}


.animation-block a {
    text-decoration: none;
    color: var(--color-link);
    outline: none;
}

.frame {
    padding: 3rem 5vw;
    text-align: center;
    font-size: 0.8rem;
}

.frame__title {
    font-size: inherit;
    margin: 0 0 1rem;
    font-weight: normal;
}

.frame__links {
    display: inline;
}

.frame__links a {
    text-transform: lowercase;
}

.frame__links a:not(:last-child) {
    margin-right: 1rem;
}


.animation-block.block {
    text-transform: lowercase;
    padding: 0 4rem 20vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.block__title {
    position: relative;
    font-size: 1rem;
    margin: 0 0 1.5rem 0;
    padding: 0.5rem 0;
    cursor: pointer;
    font-family: titling-gothic-fb-wide, sans-serif;
    font-weight: 700;
    color: var(--color-blocktitle);
}

.block__title:hover {
    color: var(--color-blocktitle-hover);
}

.block__link {
    position: relative;
    cursor: pointer;
    padding: 0.5rem 0;
    color: var(--color-blocklink);
}

.block__link:hover {
    color: var(--color-blocklink-hover);
}

.block__title span,
.block__link span,
.content__text-link span {
    display: inline-block;
    white-space: pre;
}

.content__text {
    padding: 0 5vw 25vh;
    line-height: 2;
    color: var(--color-text);
}

.content__text-link {
    position: relative;
    font-weight: bold;
    cursor: pointer;
}

.content__text-link:first-of-type,
.content__text-link:nth-of-type(11),
.content__text-link:nth-of-type(21) {
    color: #f7e300;
}

.content__text-link:nth-of-type(2),
.content__text-link:nth-of-type(12),
.content__text-link:nth-of-type(22) {
    color: #002df7;
}

.content__text-link:nth-of-type(3),
.content__text-link:nth-of-type(13),
.content__text-link:nth-of-type(23) {
    color: #e51679;
}

.content__text-link:nth-of-type(4),
.content__text-link:nth-of-type(14) {
    color: #fff;
}

.content__text-link:nth-of-type(5),
.content__text-link:nth-of-type(15) {
    color: #00f73d;
}

.content__text-link:nth-of-type(6),
.content__text-link:nth-of-type(16) {
    color: #00e8f7;
}

.content__text-link:nth-of-type(7),
.content__text-link:nth-of-type(17) {
    color: #a753eb;
}

.content__text-link:nth-of-type(8),
.content__text-link:nth-of-type(18) {
    color: #ff2626;
}

.content__text-link:nth-of-type(9),
.content__text-link:nth-of-type(19) {
    color: #eb8e53;
}

.content__text-link:nth-of-type(10),
.content__text-link:nth-of-type(20) {
    color: #ff00e7;
}

.animation-block.block[data-fx="1"] a::after,
a.content__text-link[data-fx="1"]::after,
.animation-block.block[data-fx="2"] a::after,
a.content__text-link[data-fx="2"]::after {
    content: '';
    z-index: -1;
    width: 100%;
    bottom: 0.25rem;
    left: 0;
    position: absolute;
    height: 2px;
    background: currentColor;
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
    transition: transform 0.2s cubic-bezier(0.390, 0.575, 0.565, 1.000);
}

a.content__text-link[data-fx="1"]::after,
a.content__text-link[data-fx="2"]::after {
    bottom: 0;
}

.animation-block.block[data-fx="1"] a:hover::after,
a.content__text-link[data-fx="1"]:hover::after,
.animation-block.block[data-fx="2"] a:hover::after,
a.content__text-link[data-fx="2"]:hover::after {
    transform: scale3d(1, 1, 1)
}

.animation-block.block[data-fx="6"] a::after,
a.content__text-link[data-fx="6"]::after {
    content: '';
    z-index: -1;
    width: 100%;
    bottom: 0.25rem;
    left: 0;
    position: absolute;
    height: 2px;
    background: currentColor;
    transform: scale3d(0, 1, 1);
    transform-origin: 100% 50%;
    transition: transform 0.7s cubic-bezier(0.860, 0.000, 0.070, 1.000);
}

a.content__text-link[data-fx="6"]::after {
    bottom: 0;
}

.animation-block.block[data-fx="6"] a:hover::after,
a.content__text-link[data-fx="6"]:hover::after {
    transform: scale3d(1, 1, 1)
}

.animation-block.block[data-fx="14"] a::after,
a.content__text-link[data-fx="14"]::after {
    content: '';
    z-index: -1;
    width: 100%;
    bottom: 0.25rem;
    left: 0;
    position: absolute;
    height: 2px;
    background: currentColor;
    transform: scale3d(0, 1, 1);
    transform-origin: 0% 50%;
}

a.content__text-link[data-fx="14"]::after {
    bottom: 0;
}

.animation-block.block[data-fx="14"] a:hover::after,
a.content__text-link[data-fx="14"]:hover::after {
    animation: loop 0.5s infinite;
}

@keyframes loop {
    0% {
        transform-origin: 0% 50%;
        transform: scale3d(0, 1, 1);
    }

    50% {
        transform-origin: 0% 50%;
        transform: scale3d(1, 1, 1);
    }

    51% {
        transform-origin: 100% 50%;
    }

    100% {
        transform-origin: 100% 50%;
        transform: scale3d(0, 1, 1);
    }
}

.hover-reveal {
    position: fixed;
    width: 200px;
    height: 150px;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0;
}

.hover-reveal__inner,
.hover-reveal__img {
    width: 100%;
    height: 100%;
    position: relative;
}

.hover-reveal__deco {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #181314;
}

.hover-reveal__img {
    background-size: cover;
    background-position: 50% 50%;
}

@media screen and (min-width: 53em) {
    .message {
        display: none;
    }

    .frame {
        position: fixed;
        text-align: left;
        z-index: 10000;
        top: 0;
        left: 0;
        display: grid;
        align-content: space-between;
        width: 100%;
        max-width: none;
        height: 100vh;
        padding: 2rem;
        pointer-events: none;
        grid-template-columns: 50% 50%;
        grid-template-rows: auto auto auto;
        grid-template-areas: 'title links'
			'... ...'
			'... github';
    }

    .frame__title {
        grid-area: title;
        padding: 0;
    }

    .frame__links {
        grid-area: links;
        padding: 0;
        justify-self: end;
    }


    .frame a {
        pointer-events: auto;
    }

    .animation-block.block {
        align-items: flex-start;
    }


    .content__text {
        grid-column: span 3;
    }
}

.social-share a.facebook:after {
    background-color: #3B5998 !important;
}

.social-share a.instagram:after {
    background: #833ab4;
    background: linear-gradient(45deg, #833ab4, #fd1d1d, #fcb045);
}

.cursor-pointer {
    cursor: pointer !important;
}


/* ================================
   NEWSLETTER — WOW (no bg image)
   ================================ */

#gpNewsletter.gp-news{
  position: relative;
  padding-top: 40px;
  padding-bottom: 80px;
  background: url('/static/web/img/bg/paper2.png'); /* tu textura ligera */
}

#gpNewsletter .gp-container{
  width: min(1120px, 92vw);
  margin: 0 auto;
}

/* --------- WOW Card --------- */
#gpNewsletter .gp-news-card{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  padding: clamp(30px, 4.8vw, 60px);
  isolation: isolate;

  /* base silky dark */
  background:
    radial-gradient(120% 120% at 80% 20%, #0d1729 0%, #0a1221 60%, #0a0f1a 100%);

  /* subtle inner border + shadow */
  box-shadow:
    0 24px 70px rgba(9,16,28,.28),
    inset 0 0 0 1px rgba(255,255,255,.06);
}

/* Animated mint/cyan blobs (no image) */
#gpNewsletter .gp-news-card::before,
#gpNewsletter .gp-news-card::after{
  content:"";
  position:absolute; inset:-10%;
  background:
    radial-gradient(40% 40% at 18% 24%, rgba(0,211,255,.22), transparent 60%),
    radial-gradient(36% 36% at 84% 70%, rgba(34,231,183,.24), transparent 62%);
  filter: blur(22px);
  z-index:0;
  animation: gp-blobs 18s ease-in-out infinite alternate;
  pointer-events:none;
}

#gpNewsletter .gp-news-card::after{
  animation-duration: 22s;
  animation-delay: -3s;
  opacity: .7;
}

/* Glow frame (pulsing aura) */
#gpNewsletter .gp-news-card::marker{ content:""; } /* silence mdn warning */
#gpNewsletter .gp-news-card > *{ position: relative; z-index: 1; }
#gpNewsletter .gp-news-card::outline { content:""; } /* no-op */

#gpNewsletter .gp-news-card::selection { background: transparent; } /* safe */

#gpNewsletter .gp-news-card::backdrop{ background: transparent; } /* safe */

/* Pulse ring using an extra pseudo layer */
#gpNewsletter .gp-news-card::after,
#gpNewsletter .gp-news-card::before{ will-change: transform, opacity; }

#gpNewsletter .gp-news-card::before{
  mask:
    radial-gradient(110% 110% at 50% 50%, black 52%, transparent 54%);
}

/* Header */
#gpNewsletter .gp-news-head{
  text-align:center;
  color:#EAF3F8;
}

#gpNewsletter .gp-news-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px;
  border-radius:999px;
  font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  font-size:12px;
  color:#10b79a;
  background:rgba(34,231,183,.10);
  border:1px solid rgba(34,231,183,.45);
  box-shadow: 0 10px 26px rgba(34,231,183,.14) inset, 0 4px 16px rgba(0,0,0,.24);
}

#gpNewsletter .gp-news-title{
  margin:14px 0 8px;
  font-weight:900;
  letter-spacing:.3px;
  line-height:1.08;
  font-size: clamp(28px, 4.8vw, 44px);
  color:#ffffff;
  text-shadow: 0 10px 28px rgba(0,0,0,.35);
}

#gpNewsletter .gp-news-sub{
  margin:0 auto clamp(18px, 2.6vw, 28px);
  max-width: 720px;
  color:#cfe5ec;
}

/* Form layout */
#gpNewsletter .gp-news-form{
  display:flex; gap:12px;
  justify-content:center; align-items:stretch;
  flex-wrap:wrap;
}

/* Input with icon */
#gpNewsletter .gp-input-wrap{
  display:flex; align-items:center; gap:10px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:0 14px;
  width:min(560px, 86vw);
  box-shadow:
    0 16px 36px rgba(15,23,42,.22),
    0 0 0 1px rgba(15,23,42,.04) inset;
}
#gpNewsletter .gp-input-wrap i{
  color:#0b1220; opacity:.85; font-size:16px;
}
#gpNewsletter .gp-input-wrap input{
  flex:1;
  height:52px;
  border:0; outline:0;
  font-size:16px;
  color:#0b1220;
  background:transparent;
}
#gpNewsletter .gp-input-wrap input::placeholder{ color:#7a8797; }

/* CTA — glossy + sheen */
#gpNewsletter .gp-news-cta{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  height:52px;
  padding:0 22px;
  border:0; border-radius:16px;
  font-weight:900; letter-spacing:.2px;
  color:#071316;
  background: linear-gradient(180deg,#22e7b7 0%, #10b79a 100%);
  box-shadow:
    0 18px 44px rgba(34,231,183,.45),
    0 0 0 1px rgba(0,0,0,.06) inset;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
  overflow:hidden;
  width: min(560px, 86vw);
}

/* moving sheen */
#gpNewsletter .gp-news-cta::after{
  content:"";
  position:absolute; inset:-2px;
  background: linear-gradient( 75deg,
    transparent 0%,
    rgba(255,255,255,.22) 35%,
    rgba(255,255,255,.65) 50%,
    rgba(255,255,255,.22) 65%,
    transparent 100%);
  transform: translateX(-120%);
  animation: gp-sheen 3.8s ease-in-out infinite;
  mix-blend-mode: screen;
  pointer-events:none;
}

#gpNewsletter .gp-news-cta:hover{
  transform: translateY(-2px);
  box-shadow:
    0 26px 60px rgba(34,231,183,.55),
    0 0 0 1px rgba(0,0,0,.06) inset;
}
#gpNewsletter .gp-news-cta:focus-visible{
  outline:none;
  box-shadow:
    0 26px 60px rgba(34,231,183,.55),
    0 0 0 4px rgba(34,231,183,.28);
}

/* Note under form */
#gpNewsletter .gp-news-foot{
  margin-top:14px;
  text-align:center;
  color:#b6c8d3;
  font-size:14px;
}

/* Mobile full width CTA */
@media (max-width: 576px){
  #gpNewsletter .gp-news-cta{
    width: min(560px, 86vw);
  }
}

/* Motion safety */
@media (prefers-reduced-motion: reduce){
  #gpNewsletter .gp-news-card::before,
  #gpNewsletter .gp-news-card::after,
  #gpNewsletter .gp-news-cta::after{
    animation: none !important;
  }
  #gpNewsletter .gp-news-cta{ transition: none !important; }
}

/* ========= Animations ========= */
@keyframes gp-blobs{
  0%   { transform: translate3d(-2%, -2%, 0) scale(1.00); opacity: .95; }
  50%  { transform: translate3d(1%, 1%, 0) scale(1.03);  opacity: .85; }
  100% { transform: translate3d(3%, -1%, 0) scale(1.05); opacity: .95; }
}

@keyframes gp-sheen{
  0%   { transform: translateX(-130%); }
  60%  { transform: translateX(130%); }
  100% { transform: translateX(130%); }
}

