/* Pájaro Azul v3.1 · Visual Refinement + SEO/GEO */
:root{
  --v31-blue:#0e96ff;
  --v31-cyan:#2cddff;
  --v31-lime:#a7ff19;
}

/* Controlled title accent: most typography stays white; only the semantic tail is colored. */
.v31-title-accent,
.title-accent{
  display:inline-block;
  background:linear-gradient(96deg,var(--v31-blue) 0%,var(--v31-cyan) 56%,var(--v31-lime) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  text-shadow:0 0 34px rgba(34,220,255,.035);
}

/* Home atmospheric depth */
#resolvemos,#capacidades,#metodo,#por-que,#contacto{position:relative;isolation:isolate;overflow:hidden}
#resolvemos>.wrap,#capacidades>.wrap,#metodo>.wrap,#por-que>.wrap,#contacto>.wrap{position:relative;z-index:2}
#resolvemos{
  background:
    radial-gradient(circle at 17% 26%,rgba(14,150,255,.105),transparent 30%),
    radial-gradient(circle at 82% 70%,rgba(167,255,25,.035),transparent 28%),
    linear-gradient(138deg,#071019 0%,#091725 50%,#050b12 100%)!important;
}
#resolvemos:before{
  content:"";position:absolute;inset:14% 42% 8% -14%;
  background:radial-gradient(circle,rgba(34,220,255,.07),transparent 68%);
  filter:blur(32px);pointer-events:none
}
#capacidades{
  background:
    radial-gradient(circle at 23% 30%,rgba(34,220,255,.085),transparent 27%),
    radial-gradient(circle at 76% 52%,rgba(22,88,210,.065),transparent 31%),
    linear-gradient(150deg,#05070a 0%,#06101a 48%,#04070a 100%)!important;
}
#capacidades:before{
  content:"";position:absolute;width:42vw;height:42vw;min-width:420px;min-height:420px;
  left:-13vw;top:26%;border-radius:50%;
  background:radial-gradient(circle,rgba(34,220,255,.055),transparent 67%);
  filter:blur(28px);pointer-events:none
}
#metodo{
  background:
    radial-gradient(ellipse at 50% 56%,rgba(34,220,255,.065),transparent 39%),
    radial-gradient(circle at 19% 35%,rgba(167,255,25,.025),transparent 25%),
    linear-gradient(180deg,#05070a,#06101a 52%,#04070b)!important;
}
#metodo:before{
  content:"";position:absolute;left:7%;right:7%;top:45%;height:210px;
  background:linear-gradient(90deg,transparent,rgba(167,255,25,.035),rgba(34,220,255,.08),rgba(118,81,255,.045),transparent);
  filter:blur(46px);pointer-events:none
}
#metodo .motor-strip{position:relative;z-index:2;box-shadow:0 18px 64px rgba(0,0,0,.28),0 0 42px rgba(34,220,255,.035)!important}
#capacidades .cap-giant{
  background:linear-gradient(180deg,rgba(48,224,255,.31),rgba(33,161,214,.065) 58%,rgba(35,219,255,.025))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  filter:drop-shadow(0 0 24px rgba(34,220,255,.055));
}
@media(min-width:769px){
  #metodo .motor-strip:after{
    content:"";
    position:absolute;
    left:5%;
    top:84px;
    width:13%;
    height:3px;
    z-index:1;
    border-radius:999px;
    pointer-events:none;
    opacity:0;
    background:linear-gradient(90deg,transparent,rgba(224,252,255,.94) 48%,rgba(34,220,255,.76) 68%,rgba(167,255,25,.18),transparent);
    box-shadow:0 0 9px rgba(226,252,255,.55),0 0 22px rgba(34,220,255,.32);
    filter:blur(.15px);
    animation:v31MethodPulse 10.5s cubic-bezier(.42,0,.22,1) infinite;
  }
}
@keyframes v31MethodPulse{
  0%,34%{opacity:0;transform:translateX(0) scaleX(.72)}
  39%{opacity:.74}
  48%{opacity:1;transform:translateX(225%) scaleX(1)}
  61%{opacity:.82;transform:translateX(455%) scaleX(.92)}
  70%{opacity:.12;transform:translateX(660%) scaleX(.68)}
  72%,100%{opacity:0;transform:translateX(660%) scaleX(.68)}
}
#metodo .motor-step{transition:background .35s ease,transform .35s ease}
#metodo .motor-step:hover{background:linear-gradient(180deg,rgba(34,220,255,.035),rgba(255,255,255,.005));transform:translateY(-3px)}

/* Block 08: editorial depth + restrained interaction */
#por-que{
  background:
    radial-gradient(circle at 15% 27%,rgba(17,157,255,.115),transparent 31%),
    radial-gradient(circle at 84% 72%,rgba(167,255,25,.045),transparent 29%),
    linear-gradient(145deg,#05070a 0%,#07111b 52%,#04080d 100%)!important;
}
#por-que:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 0 44%,rgba(34,220,255,.018) 52%,transparent 61%);
  pointer-events:none
}
#por-que:after{
  content:"";position:absolute;width:34vw;height:34vw;min-width:360px;min-height:360px;
  right:-10vw;top:18%;border-radius:50%;
  background:radial-gradient(circle,rgba(34,220,255,.055),rgba(167,255,25,.016) 38%,transparent 70%);
  filter:blur(22px);opacity:.72;pointer-events:none;
  animation:v31PrinciplesDrift 9s ease-in-out infinite alternate
}
@keyframes v31PrinciplesDrift{to{transform:translate(-7vw,5vh) scale(1.08);opacity:.9}}
#por-que .principle-grid{
  position:relative;border-color:rgba(255,255,255,.15)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,.003));
  box-shadow:0 26px 60px rgba(0,0,0,.17)
}
#por-que .principle{
  position:relative;overflow:hidden;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),background .38s ease,border-color .38s ease,box-shadow .38s ease
}
#por-que .principle:before{
  content:"";position:absolute;left:24px;right:24px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--v31-cyan),var(--v31-lime),transparent);
  transform:scaleX(0);transform-origin:center;transition:transform .4s ease
}
#por-que .principle:after{
  content:"";position:absolute;inset:auto -18% -55% -18%;height:65%;
  background:radial-gradient(circle,rgba(34,220,255,.07),transparent 69%);
  opacity:0;transition:opacity .38s ease;pointer-events:none
}
#por-que .principle:hover{
  transform:translateY(-6px);
  background:linear-gradient(180deg,rgba(34,220,255,.045),rgba(255,255,255,.008));
  box-shadow:0 18px 44px rgba(0,0,0,.2)
}
#por-que .principle:hover:before{transform:scaleX(1)}
#por-que .principle:hover:after{opacity:1}
.js #por-que .principle.reveal:nth-child(1){transition-delay:0ms}
.js #por-que .principle.reveal:nth-child(2){transition-delay:95ms}
.js #por-que .principle.reveal:nth-child(3){transition-delay:190ms}
.js #por-que .principle.reveal:nth-child(4){transition-delay:285ms}
#por-que .principle-grid:before{
  content:"";
  position:absolute;
  left:0;top:-1px;
  width:24%;
  height:1px;
  z-index:3;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(34,220,255,.72),rgba(167,255,25,.42),transparent);
  box-shadow:0 0 15px rgba(34,220,255,.16);
  animation:v31PrincipleSweep 9.8s ease-in-out infinite;
}
@keyframes v31PrincipleSweep{
  0%,22%{opacity:0;transform:translateX(-105%)}
  28%{opacity:.55}
  54%{opacity:.78}
  72%{opacity:0;transform:translateX(420%)}
  100%{opacity:0;transform:translateX(420%)}
}
#por-que .principle b{position:relative;z-index:2;color:#41e4ff!important;text-shadow:0 0 18px rgba(34,220,255,.18)}
#por-que .principle h3,#por-que .principle p{position:relative;z-index:2}
#por-que .audience{position:relative}
#por-que .audience:before{
  content:"";position:absolute;left:-3%;right:-3%;top:41px;height:96px;
  background:linear-gradient(90deg,transparent,rgba(34,220,255,.035),rgba(167,255,25,.018),transparent);
  filter:blur(16px);pointer-events:none
}
#por-que .audience-line{
  position:relative;color:rgba(255,255,255,.18)!important;
  font-size:clamp(28px,4.35vw,66px)!important;
  mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)
}
#por-que .audience-line span{animation-duration:36s!important}
#por-que .audience-line i{color:rgba(34,220,255,.72)!important;text-shadow:0 0 16px rgba(34,220,255,.16)}

#contacto{
  background:
    radial-gradient(circle at 72% 28%,rgba(24,167,255,.075),transparent 26%),
    radial-gradient(circle at 34% 68%,rgba(167,255,25,.025),transparent 27%),
    linear-gradient(155deg,#05070a 0%,#06111a 52%,#04070b 100%)!important;
}
#contacto .contact-panel{box-shadow:0 28px 70px rgba(0,0,0,.27),0 0 38px rgba(34,220,255,.035)!important}

/* Block 09 · animated energy beam. Always behind copy, contact buttons and form. */
#contacto.contact:before{
  opacity:.30!important;
  background:linear-gradient(90deg,transparent,rgba(20,159,255,.34),rgba(50,229,255,.46),rgba(167,255,25,.30),transparent)!important;
  box-shadow:0 0 15px rgba(34,220,255,.12)!important;
  z-index:0!important;
}
#contacto .contact-energy-beam{
  position:absolute;
  left:-10%;
  right:-10%;
  top:48%;
  height:46px;
  transform:rotate(-5deg);
  transform-origin:center;
  pointer-events:none;
  z-index:0;
  overflow:visible;
  filter:saturate(1.08);
}
#contacto .contact-energy-beam__trail,
#contacto .contact-energy-beam__core{
  position:absolute;
  left:0;
  top:50%;
  display:block;
  transform:translateY(-50%);
  transform-origin:center;
  will-change:transform,opacity;
}
#contacto .contact-energy-beam__trail{
  width:22vw;
  min-width:210px;
  height:18px;
  opacity:.58;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(20,159,255,.03) 12%,
    rgba(20,159,255,.18) 38%,
    rgba(45,224,255,.44) 68%,
    rgba(167,255,25,.08) 92%,
    transparent 100%);
  filter:blur(9px);
}
#contacto .contact-energy-beam__core{
  width:8vw;
  min-width:82px;
  height:2px;
  opacity:.82;
  border-radius:999px;
  background:linear-gradient(90deg,
    transparent,
    rgba(77,223,255,.55) 24%,
    rgba(225,252,255,.98) 55%,
    rgba(167,255,25,.72) 78%,
    transparent);
  box-shadow:
    0 0 6px rgba(220,251,255,.66),
    0 0 15px rgba(34,220,255,.36),
    0 0 30px rgba(34,220,255,.16);
}
#contacto .contact-grid,
#contacto .contact-copy,
#contacto .contact-links,
#contacto .contact-links a,
#contacto .contact-panel,
#contacto .contact-panel *{
  position:relative;
  z-index:2;
}
#contacto .contact-brand-band,
#contacto .footer{
  position:relative;
  z-index:2;
}

/* Official hero logo + signal reveal */
#home .hero-brand-lockup{position:relative;isolation:isolate}
#home .hero-logo{
  height:auto;object-fit:contain;image-rendering:auto;
  max-width:312px;
  will-change:transform,opacity,filter;
  transform-origin:center
}
.v31-hero-signal,.v31-hero-bloom{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  pointer-events:none;z-index:8
}
.v31-hero-signal{
  width:7px;height:7px;border-radius:50%;opacity:0;background:#fff;
  box-shadow:0 0 8px #fff,0 0 24px var(--v31-cyan),0 0 52px rgba(22,156,255,.85)
}
.v31-hero-bloom{
  width:22px;height:22px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,rgba(255,255,255,.82) 0%,rgba(34,220,255,.34) 18%,rgba(22,156,255,.16) 43%,transparent 72%);
  filter:blur(1px)
}
#home .hero-brand-lockup.v31-waiting .hero-logo{
  opacity:0;transform:scale(.88);
  filter:blur(10px) drop-shadow(0 0 42px rgba(34,220,255,.18));
  animation:none!important
}
#home .hero-brand-lockup.v31-waiting .hero-brand-ribbon{opacity:0;transform:translateY(7px);animation:none!important}
#home .hero-brand-lockup.v31-waiting .hero-brand-track,
#home .hero-brand-lockup.v31-revealing .hero-brand-track{animation-play-state:paused!important}
#home .hero-brand-lockup.v31-revealing .v31-hero-signal{animation:v31SignalPoint .78s ease-out forwards}
#home .hero-brand-lockup.v31-revealing .v31-hero-bloom{animation:v31SignalBloom 1.08s cubic-bezier(.16,.76,.18,1) .52s both}
#home .hero-brand-lockup.v31-revealing .hero-logo{animation:v31LogoReveal 1.18s cubic-bezier(.16,.76,.18,1) .68s both!important}
#home .hero-brand-lockup.v31-revealing .hero-brand-ribbon{animation:v31RibbonReveal .58s ease 1.52s both!important}
#home .hero-brand-lockup.v31-revealed .hero-logo{
  opacity:1;filter:drop-shadow(0 25px 45px rgba(0,0,0,.62)) drop-shadow(0 0 26px rgba(25,167,255,.20));
  animation:float 5.7s ease-in-out infinite!important
}
#home .hero-brand-lockup.v31-revealed .hero-brand-ribbon{opacity:1;transform:none}
#home .hero-brand-lockup.v31-revealed .hero-brand-track{animation-play-state:running!important}
@keyframes v31SignalPoint{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  34%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  72%{opacity:1;transform:translate(-50%,-50%) scale(.92)}
  100%{opacity:.58;transform:translate(-50%,-50%) scale(.72)}
}
@keyframes v31SignalBloom{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}
  24%{opacity:.92}
  64%{opacity:.58}
  100%{opacity:0;transform:translate(-50%,-50%) scale(15)}
}
@keyframes v31SignalBloomMobile{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}
  28%{opacity:.72}
  62%{opacity:.34}
  100%{opacity:0;transform:translate(-50%,-50%) scale(7.5)}
}
@media(max-width:760px){
  /* iOS Safari can rasterize a scaled blurred radial-gradient as a white
     compositor rectangle. Keep the reveal, but avoid that GPU path. */
  #home .v31-hero-bloom{
    width:18px;height:18px;
    filter:none!important;
    background:radial-gradient(circle,
      rgba(235,252,255,.78) 0%,
      rgba(34,220,255,.24) 24%,
      rgba(22,156,255,.10) 48%,
      rgba(22,156,255,0) 72%);
    box-shadow:0 0 18px rgba(34,220,255,.22),0 0 42px rgba(22,156,255,.10);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  #home .hero-brand-lockup.v31-revealing .v31-hero-bloom{
    animation:v31SignalBloomMobile 1.05s cubic-bezier(.16,.76,.18,1) .52s both!important
  }
}
@keyframes v31LogoReveal{
  0%{opacity:0;transform:scale(.88);filter:blur(10px) drop-shadow(0 0 38px rgba(34,220,255,.14))}
  54%{opacity:1;filter:blur(2px) drop-shadow(0 0 42px rgba(34,220,255,.28))}
  100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 25px 45px rgba(0,0,0,.62)) drop-shadow(0 0 26px rgba(25,167,255,.20))}
}
@keyframes v31RibbonReveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}


/* Safari desktop ultra-safe mode.
   Applied before first paint from an inline <head> detector. The image itself
   is never filtered, scaled, floated or composited during reveal. */
html.js.v31-safari-desktop #home .hero-brand-lockup .v31-hero-bloom{
  display:none!important;
  animation:none!important;
  filter:none!important;
  -webkit-filter:none!important;
}
html.js.v31-safari-desktop #home .hero-brand-lockup .hero-logo{
  display:block!important;
  opacity:0!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  animation:none!important;
  transition:opacity .48s cubic-bezier(.22,.72,.25,1)!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
html.js.v31-safari-desktop #home .hero-brand-lockup.v31-safari-logo-visible .hero-logo,
html.js.v31-safari-desktop.v31-safari-logo-failsafe #home .hero-brand-lockup .hero-logo,
html.js.v31-safari-desktop #home .hero-brand-lockup.v31-revealed .hero-logo{
  display:block!important;
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  -webkit-filter:none!important;
  animation:none!important;
  will-change:auto!important;
}
html.js.v31-safari-desktop #home .hero-brand-lockup .v31-hero-signal{
  filter:none!important;
  -webkit-filter:none!important;
  will-change:auto!important;
}
html.js.v31-safari-desktop #home .hero-brand-lockup.v31-revealing .v31-hero-signal{
  animation:v31SignalPointDesktopSafari 1.35s ease-out forwards!important;
}
html.js.v31-safari-desktop #home .hero-brand-lockup.v31-revealing .hero-brand-ribbon{
  animation:v31RibbonReveal .58s ease 1.95s both!important;
}
@keyframes v31SignalPointDesktopSafari{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35);box-shadow:0 0 3px #fff,0 0 10px rgba(34,220,255,.50)}
  24%{opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 9px #fff,0 0 28px rgba(34,220,255,.78),0 0 54px rgba(22,156,255,.44)}
  58%{opacity:.96;transform:translate(-50%,-50%) scale(1.35);box-shadow:0 0 12px #fff,0 0 40px rgba(34,220,255,.62),0 0 76px rgba(22,156,255,.30)}
  78%{opacity:.72;transform:translate(-50%,-50%) scale(1.55);box-shadow:0 0 10px #fff,0 0 44px rgba(34,220,255,.48),0 0 88px rgba(22,156,255,.20)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.72);box-shadow:0 0 4px #fff,0 0 20px rgba(34,220,255,.24)}
}

/* Safari/WebKit hero reveal fallback.
   Safari can promote the filtered/scaled transparent logo or bloom to a white compositor tile.
   Keep Chrome/Chromium unchanged; on Safari use opacity + scale only. */
#home .hero-brand-lockup.v31-safari-safe .v31-hero-bloom{
  display:none!important;
  animation:none!important;
}
#home .hero-brand-lockup.v31-safari-safe.v31-waiting .hero-logo{
  opacity:0!important;
  transform:scale(.94)!important;
  filter:none!important;
  -webkit-filter:none!important;
  animation:none!important;
  will-change:opacity,transform!important;
}
#home .hero-brand-lockup.v31-safari-safe.v31-revealing .hero-logo{
  filter:none!important;
  -webkit-filter:none!important;
  animation:v31LogoRevealSafari 1.28s cubic-bezier(.16,.76,.18,1) .58s both!important;
  will-change:opacity,transform!important;
}
#home .hero-brand-lockup.v31-safari-safe.v31-revealed .hero-logo{
  opacity:1!important;
  transform:none;
  filter:none!important;
  -webkit-filter:none!important;
  animation:v31FloatSafari 5.7s ease-in-out infinite!important;
  will-change:transform!important;
}
#home .hero-brand-lockup.v31-safari-safe.v31-revealing .v31-hero-signal{
  animation:v31SignalPointSafari 1.15s ease-out forwards!important;
}
@keyframes v31LogoRevealSafari{
  0%{opacity:0;transform:scale(.94)}
  44%{opacity:.58;transform:scale(.965)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes v31FloatSafari{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-11px) rotate(.35deg)}
}
@keyframes v31SignalPointSafari{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.25);box-shadow:0 0 4px #fff,0 0 12px var(--v31-cyan)}
  32%{opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 10px #fff,0 0 30px var(--v31-cyan),0 0 64px rgba(22,156,255,.72)}
  68%{opacity:.92;transform:translate(-50%,-50%) scale(1.45);box-shadow:0 0 12px #fff,0 0 42px var(--v31-cyan),0 0 84px rgba(22,156,255,.48)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(1.8);box-shadow:0 0 5px #fff,0 0 22px var(--v31-cyan),0 0 52px rgba(22,156,255,.22)}
}

/* Long-form SEO/GEO content */
.service-depth{padding:8vh 6vw;border-top:1px solid rgba(255,255,255,.08)}
.service-depth--intro{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:1.5rem 4rem;align-items:start}
.service-depth--intro .content-kicker{grid-row:1 / span 2}
.service-depth--intro h2{margin:0;max-width:980px;font-size:clamp(2.25rem,5vw,5.5rem);line-height:.95;letter-spacing:-.05em}
.service-depth--intro>p:last-child{max-width:920px;margin:1rem 0 0;color:rgba(255,255,255,.62);font-size:clamp(.95rem,1.35vw,1.15rem);line-height:1.75}
.service-depth--grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding-top:0;border-top:0}
.service-depth--grid article{padding:2rem;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(34,220,255,.012))}
.service-depth--grid h2{margin:0 0 1rem;font-size:clamp(1.45rem,2.4vw,2.6rem);line-height:1;letter-spacing:-.035em}
.service-depth--grid p,.service-process p,.service-faq p{margin:0;color:rgba(255,255,255,.58);line-height:1.7}
.service-process>h2,.service-faq>h2{max-width:900px;margin:.6rem 0 2.4rem;font-size:clamp(2rem,4vw,4.5rem);line-height:.96;letter-spacing:-.045em}
.service-process__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px}
.service-process__grid article{min-height:240px;padding:1.6rem;border:1px solid rgba(255,255,255,.09)}
.service-process__grid span{display:block;margin-bottom:3.5rem;color:#7d9bb3;font-size:.6rem;letter-spacing:.15em}
.service-process__grid h3{margin:0 0 .8rem;font-size:clamp(1.25rem,2vw,2rem)}
.service-faq__head{min-width:0}
.service-faq__head h2{max-width:900px;margin:.6rem 0 2.4rem;font-size:clamp(2rem,4vw,4.5rem);line-height:.96;letter-spacing:-.045em}
.service-faq__list{max-width:1100px;border-top:1px solid rgba(255,255,255,.1)}
.service-faq details{border-bottom:1px solid rgba(255,255,255,.1)}
.service-faq summary{cursor:pointer;list-style:none;padding:1.4rem 2.5rem 1.4rem 0;font-size:clamp(1rem,1.55vw,1.35rem);font-weight:700;position:relative}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary::after{content:'+';position:absolute;right:.2rem;top:1.3rem;color:#b6ff2e;font-size:1.35rem;font-weight:400}
.service-faq details[open] summary::after{content:'–'}
.service-faq details p{max-width:900px;padding:0 3rem 1.5rem 0}
.content-main{
  background:
    radial-gradient(circle at 82% 11%,rgba(48,157,241,.035),transparent 24%),
    radial-gradient(circle at 16% 58%,rgba(152,254,0,.018),transparent 22%),
    #02060b
}
.service-depth--grid article,.content-related__grid a,.content-list-grid article{
  transition:transform .28s ease,border-color .28s ease,background .28s ease
}
.service-depth--grid article:hover,.content-list-grid article:hover{
  transform:translateY(-2px);border-color:rgba(34,220,255,.18);
  background:linear-gradient(145deg,rgba(34,220,255,.035),rgba(152,254,0,.009))
}

/* SEO/GEO final editorial refinement */
.service-page--seo-geo .content-main{
  background:
    radial-gradient(circle at 78% 18%,rgba(24,167,255,.055),transparent 27%),
    radial-gradient(circle at 18% 48%,rgba(167,255,25,.022),transparent 24%),
    #02060b
}
.service-page--seo-geo .service-depth--intro,
.service-page--seo-geo .service-process,
.service-page--seo-geo .service-faq,
.service-page--seo-geo .content-related{
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.service-page--seo-geo .service-depth--intro:before{
  content:"";position:absolute;inset:-30% -10% -45% 34%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(34,220,255,.055),rgba(22,156,255,.018) 38%,transparent 72%);
  filter:blur(22px)
}
.service-page--seo-geo .service-process:before,
.service-page--seo-geo .service-faq:before{
  content:"";position:absolute;width:52vw;height:52vw;max-width:820px;max-height:820px;z-index:-1;pointer-events:none;
  border-radius:50%;filter:blur(28px)
}
.service-page--seo-geo .service-process:before{
  right:-18%;top:-26%;
  background:radial-gradient(circle,rgba(24,167,255,.052),rgba(34,220,255,.012) 42%,transparent 70%)
}
.service-page--seo-geo .service-faq:before{
  left:-20%;bottom:-38%;
  background:radial-gradient(circle,rgba(167,255,25,.032),rgba(34,220,255,.012) 38%,transparent 70%)
}
.service-page--seo-geo .content-related:before{
  content:"";position:absolute;inset:10% -5%;z-index:-1;pointer-events:none;
  background:linear-gradient(115deg,transparent,rgba(34,220,255,.022) 42%,rgba(167,255,25,.012) 64%,transparent);
  filter:blur(20px)
}
.service-page--seo-geo .content-list-grid article{
  position:relative;overflow:hidden
}
.service-page--seo-geo .content-list-grid article:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:1px;
  background:linear-gradient(90deg,rgba(34,220,255,.8),rgba(167,255,25,.56),transparent 78%);
  transform:scaleX(0);transform-origin:left;transition:transform .34s ease
}
.service-page--seo-geo .content-list-grid article:hover:before{transform:scaleX(1)}
.service-page--seo-geo .content-list-grid article span{
  transition:color .28s ease,text-shadow .28s ease
}
.service-page--seo-geo .content-list-grid article:hover span{
  color:#b6ff2e!important;text-shadow:0 0 15px rgba(167,255,25,.22)
}
@media(min-width:901px){
  .service-page--seo-geo .service-faq{
    display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    gap:clamp(3rem,7vw,8rem);align-items:start
  }
  .service-page--seo-geo .service-faq>h2,
  .service-page--seo-geo .service-faq>.content-kicker{display:none}
  .service-page--seo-geo .service-faq__head h2{
    margin:.6rem 0 0;max-width:620px
  }
  .service-page--seo-geo .service-faq__list{max-width:none;width:100%}
}
.site-footer__location{color:rgba(255,255,255,.34)!important;letter-spacing:.11em!important;font-size:.49rem!important}

@media(max-width:900px){
  .service-depth--intro{grid-template-columns:1fr;gap:1rem}
  .service-page--seo-geo .service-faq{display:block}
  .service-page--seo-geo .service-faq__head{margin-bottom:2rem}
  .service-page--seo-geo .service-faq__head h2{margin:.6rem 0 0}
  .service-page--seo-geo .service-depth--intro:before,
  .service-page--seo-geo .service-process:before,
  .service-page--seo-geo .service-faq:before{opacity:.72}
  .service-depth--intro .content-kicker{grid-row:auto}
  .service-depth--grid,.service-process__grid{grid-template-columns:1fr}
  .service-process__grid article{min-height:auto}
  .service-process__grid span{margin-bottom:2rem}
}
@media(max-width:680px){
  .v31-title-accent{ text-shadow:none }
  #home .hero-logo{max-width:100%}
  .v31-hero-signal{width:5px;height:5px}
  #por-que .principle:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  #metodo .motor-strip:after,
  #por-que .principle-grid:before{animation:none!important;opacity:0!important}
  #contacto .contact-energy-beam__trail,
  #contacto .contact-energy-beam__core{opacity:.2!important;transform:translate(18vw,-50%)!important}
  #por-que:after{animation:none!important}
  #home .hero-brand-lockup.v31-waiting .hero-logo,
  #home .hero-brand-lockup.v31-revealing .hero-logo,
  #home .hero-brand-lockup.v31-revealed .hero-logo{
    opacity:1!important;transform:none!important;filter:drop-shadow(0 20px 36px rgba(0,0,0,.45))!important;animation:none!important
  }
  #home .hero-brand-lockup .hero-brand-ribbon{opacity:1!important;transform:none!important}
  .v31-hero-signal,.v31-hero-bloom{display:none!important}
}
