/* Ajustes globales REIRTE */
:root{--reirte-content-max:1200px;}
html{scroll-behavior:smooth;}
body{overflow-x:hidden;}
.section-header,
.hero-content,
.cta-content,
.presentation-grid,
.journey-grid,
.services-grid,
.values-grid,
.games-grid,
.capabilities-grid,
.tech-grid,
.process-timeline,
.features-grid,
.modules-grid,
.integration-grid,
.pricing-grid,
.real-examples,
.footer-content,
.about-container{
  margin-left:auto !important;
  margin-right:auto !important;
}
.presentation-grid,
.journey-grid,
.services-grid,
.values-grid,
.games-grid,
.capabilities-grid,
.tech-grid,
.features-grid,
.modules-grid,
.integration-grid,
.pricing-grid,
.real-examples{
  justify-items:stretch;
  align-items:stretch;
}
.service-card,
.feature-card,
.module-card,
.integration-card,
.pricing-card,
.real-card,
.game-card,
.capability-card,
.value-item,
.presentation-image,
.int-card{
  width:100%;
}
.service-card,
.feature-card,
.module-card,
.pricing-card,
.real-card,
.game-card,
.capability-card,
.real-card-cta-inner,
.cta-content,
.pricing-card,
.service-card{
  display:flex;
  flex-direction:column;
}
.service-card .btn,
.feature-card .btn,
.module-card .btn,
.pricing-card .btn,
.real-card .btn,
.real-card-cta .btn,
.game-card .btn,
.cta-content .btn,
.cta-buttons .btn,
.hero-actions .btn,
.presentation-grid .btn{
  justify-content:center;
  text-align:center;
}
.real-card-cta-inner{
  align-items:center !important;
  text-align:center;
}
.real-card-cta-inner .btn{margin-top:auto;}
.game-card-content,
.real-card-info,
.service-card,
.feature-card,
.module-card,
.pricing-card{
  height:100%;
}
.game-card-content .btn,
.real-card-cta-inner .btn,
.pricing-card .btn,
.service-card .btn{
  margin-top:auto !important;
}
.hero-actions,
.cta-buttons{
  gap:1rem;
}
@media (max-width: 1100px){
  .about-container,
  .presentation-grid,
  .footer-content{
    grid-template-columns:1fr !important;
  }
}
@media (max-width: 768px){
  .hero,
  .presentation,
  .services,
  .journey,
  .modules,
  .integrations,
  .pricing,
  .capabilities,
  .tech-stack,
  .portfolio,
  .process,
  .cta-section,
  .values,
  .about,
  .intro-highlight{
    padding-left:1.5rem !important;
    padding-right:1.5rem !important;
  }
  .hero-actions .btn,
  .cta-buttons .btn,
  .cta-content .btn{
    width:100%;
    max-width:340px;
  }
  .nav-container,
  footer,
  nav{
    padding-left:0;
    padding-right:0;
  }
}

/* Segunda pasada visual */
:root{
  --reirte-shell: min(1200px, calc(100% - 3rem));
  --reirte-radius: 20px;
  --reirte-shadow: 0 18px 50px rgba(0,0,0,.22);
  --reirte-shadow-soft: 0 10px 30px rgba(0,0,0,.14);
}

main, section > *, .nav-container, .footer-content, .book-container{
  max-width: 100%;
}

.section-header,
.hero-content,
.cta-content,
.presentation-grid,
.journey-grid,
.services-grid,
.values-grid,
.games-grid,
.capabilities-grid,
.tech-grid,
.process-timeline,
.features-grid,
.modules-grid,
.integration-grid,
.pricing-grid,
.real-examples,
.real-examples-grid,
.footer-content,
.about-container,
.book-container,
.intro-box,
.process-steps{
  width: var(--reirte-shell);
  max-width: 1200px;
}

.hero-actions{
  align-items:center;
}

.hero-actions > .hero-demo-note,
.hero-actions > .demo-pill{
  flex-basis:100%;
  justify-content:center;
  margin-top:.25rem !important;
}

.btn,
.sys-btn,
.inv-fab,
.theme-toggle-btn,
.demo-close-btn,
.demo-close-btn-bottom,
.int-send-btn,
.int-post-btn,
.int-banner-btn,
.btn-game-promo,
.lb-btn-p,
.lb-btn-s{
  border-radius: 12px !important;
}

.btn,
.sys-btn,
.inv-fab,
.theme-toggle-btn,
.btn-game-promo,
.lb-btn-p,
.lb-btn-s{
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease, color .22s ease;
}

.btn:hover,
.sys-btn:hover,
.inv-fab:hover,
.theme-toggle-btn:hover,
.btn-game-promo:hover,
.lb-btn-p:hover,
.lb-btn-s:hover{
  transform: translateY(-3px);
}

.service-card,
.feature-card,
.module-card,
.integration-card,
.pricing-card,
.real-card,
.game-card,
.capability-card,
.value-item,
.presentation-image,
.int-card,
.intro-box,
.profile-card,
.lb-press-card{
  border-radius: var(--reirte-radius) !important;
  box-shadow: var(--reirte-shadow-soft);
}

.service-card:hover,
.feature-card:hover,
.module-card:hover,
.integration-card:hover,
.pricing-card:hover,
.real-card:hover,
.game-card:hover,
.capability-card:hover,
.value-item:hover{
  box-shadow: var(--reirte-shadow);
}

.service-card p,
.feature-card p,
.module-card p,
.integration-card p,
.pricing-card p,
.real-card p,
.game-card p,
.capability-card p,
.value-item p{
  max-width: 55ch;
}

.game-card-img,
.real-card-img-wrap,
.presentation-image,
.profile-card{
  overflow:hidden;
}

.game-card-img,
.real-card-img-wrap{
  min-height: 220px;
}

.game-card-content,
.real-card-info,
.service-card,
.feature-card,
.module-card,
.pricing-card,
.capability-card{
  gap: .2rem;
}

.game-card .btn,
.real-card .btn,
.service-card .btn,
.feature-card .btn,
.module-card .btn,
.pricing-card .btn,
.cta-content .btn,
.hero-actions .btn,
.lb-cta-btns a{
  min-height: 48px;
}

.section-description,
.section-desc,
.hero p,
.hero-subtitle,
.cta-content p,
.about-content p,
.intro-box p{
  text-wrap: pretty;
}

.theme-toggle-btn{
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  top: auto !important;
  left: auto !important;
  z-index: 1002 !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.28);
}

#easterEggBtn{
  animation: none !important;
}

.modules-grid,
.features-grid,
.services-grid,
.capabilities-grid,
.games-grid,
.real-examples-grid,
.values-grid,
.tech-grid,
.integration-grid,
.pricing-grid{
  align-items: stretch;
}

.real-card-info,
.game-card-content{
  padding: 1.8rem 1.8rem 2rem !important;
}

.book-container,
.about-container,
.presentation-grid{
  align-items: center !important;
}

.hero-demo-note,
.demo-pill{
  text-align:center;
  margin-inline:auto;
}

.hero-demo-note strong,
.demo-pill strong{
  white-space:nowrap;
}

.inv-fab{
  box-shadow: 0 16px 36px rgba(0,0,0,.28);
}

.intranet-demo,
.demo-wrapper{
  backdrop-filter: blur(8px);
}

.real-card-cta-inner,
.cta-content,
.hero-content{
  align-items: center;
}

@media (min-width: 769px){
  .hero-actions > .hero-demo-note,
  .hero-actions > .demo-pill{
    max-width: fit-content;
  }
}

@media (max-width: 900px){
  .section-header,
  .hero-content,
  .cta-content,
  .presentation-grid,
  .journey-grid,
  .services-grid,
  .values-grid,
  .games-grid,
  .capabilities-grid,
  .tech-grid,
  .process-timeline,
  .features-grid,
  .modules-grid,
  .integration-grid,
  .pricing-grid,
  .real-examples,
  .real-examples-grid,
  .footer-content,
  .about-container,
  .book-container,
  .intro-box,
  .process-steps{
    width: min(100%, calc(100% - 2rem));
  }
}

@media (max-width: 768px){
  .theme-toggle-btn{
    right: 14px !important;
    bottom: 14px !important;
    min-width: auto;
    padding-inline: 1rem !important;
  }

  .hero-actions,
  .cta-buttons,
  .lb-cta-btns{
    width:100%;
    align-items:center;
  }

  .hero-actions > .btn,
  .cta-buttons > .btn,
  .lb-cta-btns > a,
  .hero-actions > .sys-btn,
  .hero-actions > .inv-fab{
    width:100%;
    max-width:360px;
  }

  .real-card-info,
  .game-card-content,
  .service-card,
  .feature-card,
  .module-card,
  .pricing-card,
  .capability-card,
  .value-item{
    padding: 1.4rem !important;
  }

  .hero-demo-note strong,
  .demo-pill strong{
    white-space:normal;
  }
}



/* Tercera pasada: creativo e impactante */
body{
  position:relative;
  isolation:isolate;
}
body::before,
body::after{
  content:"";
  position:fixed;
  inset:auto;
  width:44vw;
  height:44vw;
  border-radius:50%;
  filter:blur(70px);
  opacity:.16;
  z-index:-2;
  pointer-events:none;
  animation: reirteFloatBlob 18s ease-in-out infinite;
}
body::before{
  top:-12vw;
  left:-10vw;
  background:radial-gradient(circle at 30% 30%, rgba(245,158,11,.9), rgba(239,68,68,.18) 42%, transparent 72%);
}
body::after{
  right:-12vw;
  bottom:-10vw;
  background:radial-gradient(circle at 50% 50%, rgba(6,182,212,.82), rgba(139,92,246,.18) 38%, transparent 72%);
  animation-delay:-8s;
}
@keyframes reirteFloatBlob{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  25%{transform:translate3d(2vw,1.5vw,0) scale(1.07);}
  50%{transform:translate3d(-1vw,2vw,0) scale(.96);}
  75%{transform:translate3d(1.5vw,-1vw,0) scale(1.04);}
}
.hero,
.presentation,
.services,
.portfolio,
.capabilities,
.tech-stack,
.process,
.values,
.about,
.journey,
.modules,
.integrations,
.pricing,
.cta-section,
.book-section,
.intro-highlight{
  position:relative;
  overflow:hidden;
}
.hero::after,
.presentation::after,
.services::after,
.portfolio::after,
.capabilities::after,
.tech-stack::after,
.process::after,
.values::after,
.about::after,
.journey::after,
.modules::after,
.integrations::after,
.pricing::after,
.book-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, transparent 0 47%, rgba(255,255,255,.035) 50%, transparent 53%),
    repeating-linear-gradient(90deg, transparent 0 70px, rgba(255,255,255,.02) 70px 71px);
  mix-blend-mode:screen;
  opacity:.35;
  pointer-events:none;
}
.hero h1,
.section-title,
.about-content h2,
.book-details h2,
.cta-content h2{
  text-wrap:balance;
  text-shadow:0 6px 30px rgba(0,0,0,.16);
}
.hero h1{
  position:relative;
}
.hero h1::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-.28em;
  width:min(320px,42%);
  height:10px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(245,158,11,.9), rgba(239,68,68,.8), transparent);
  filter:blur(10px);
  opacity:.7;
}
.service-card,
.feature-card,
.module-card,
.integration-card,
.pricing-card,
.real-card,
.game-card,
.capability-card,
.value-item,
.int-card,
.profile-card,
.presentation-image,
.lb-press-card{
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(12px);
}
.service-card::before,
.feature-card::before,
.module-card::before,
.integration-card::before,
.pricing-card::before,
.real-card::before,
.game-card::before,
.capability-card::before,
.value-item::before,
.int-card::before,
.presentation-image::before,
.profile-card::before,
.lb-press-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.11), transparent 28%, transparent 72%, rgba(245,158,11,.08));
  pointer-events:none;
  opacity:.7;
}
.service-card:hover,
.feature-card:hover,
.module-card:hover,
.integration-card:hover,
.pricing-card:hover,
.real-card:hover,
.game-card:hover,
.capability-card:hover,
.value-item:hover,
.int-card:hover,
.presentation-image:hover,
.profile-card:hover{
  transform:translateY(-10px) scale(1.01);
}
.btn,
.sys-btn,
.inv-fab,
.theme-toggle-btn,
.btn-game-promo,
.lb-btn-p,
.lb-btn-s,
.demo-launch-btn,
.demo-cta-btn{
  position:relative;
  overflow:hidden;
}
.btn::before,
.sys-btn::before,
.inv-fab::before,
.theme-toggle-btn::before,
.btn-game-promo::before,
.lb-btn-p::before,
.lb-btn-s::before,
.demo-launch-btn::before,
.demo-cta-btn::before{
  content:"";
  position:absolute;
  inset:-120% auto auto -20%;
  width:38%;
  height:320%;
  transform:rotate(18deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
  opacity:0;
  transition:opacity .2s ease, left .65s ease;
  pointer-events:none;
}
.btn:hover::before,
.sys-btn:hover::before,
.inv-fab:hover::before,
.theme-toggle-btn:hover::before,
.btn-game-promo:hover::before,
.lb-btn-p:hover::before,
.lb-btn-s:hover::before,
.demo-launch-btn:hover::before,
.demo-cta-btn:hover::before{
  left:110%;
  opacity:1;
}
nav{
  box-shadow:0 14px 50px rgba(0,0,0,.16);
}
nav::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(245,158,11,.65), rgba(6,182,212,.55), transparent);
}
.hero-badge,
.badge,
.hero-demo-note,
.demo-pill{
  box-shadow:0 10px 30px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.12);
}
.games-grid .game-card:nth-child(1) .game-card-img{
  position:relative;
}
.games-grid .game-card:nth-child(1) .game-card-img::after,
.games-grid .game-card:nth-child(2) .game-card-img::after,
.games-grid .game-card:nth-child(3) .game-card-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 45%, rgba(255,255,255,.1), transparent 60%);
  pointer-events:none;
}
.games-grid .game-card:nth-child(2){
  transform:translateY(18px);
}
.games-grid .game-card:nth-child(2):hover{
  transform:translateY(6px) scale(1.01);
}
.games-grid .game-card:nth-child(3){
  transform:translateY(-10px);
}
.games-grid .game-card:nth-child(3):hover{
  transform:translateY(-18px) scale(1.01);
}
.int-banner,
.cta-content,
.real-card-cta-inner,
.game-promo{
  position:relative;
  overflow:hidden;
}
.int-banner::before,
.cta-content::before,
.real-card-cta-inner::before,
.game-promo::before{
  content:"";
  position:absolute;
  inset:auto -20% -60% auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(245,158,11,.18), transparent 68%);
  pointer-events:none;
}
.int-banner::after,
.cta-content::after,
.real-card-cta-inner::after,
.game-promo::after{
  content:"";
  position:absolute;
  inset:-50% auto auto -18%;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(6,182,212,.12), transparent 70%);
  pointer-events:none;
}
.int-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0 0;
}
.int-quick-card{
  border-radius:18px;
  padding:16px 14px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(247,241,230,.96));
  border:1px solid rgba(17,24,39,.06);
  box-shadow:0 14px 34px rgba(0,0,0,.06);
}
.int-quick-eyebrow{
  font-size:.66rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(0,0,0,.38);
  margin-bottom:7px;
  font-weight:700;
}
.int-quick-title{
  font-size:.92rem;
  font-weight:800;
  color:#1b2e22;
  margin-bottom:6px;
}
.int-quick-copy{
  font-size:.78rem;
  line-height:1.45;
  color:rgba(0,0,0,.56);
}
.int-card-link,
.int-post-btn{
  cursor:pointer;
}
.int-comms-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
}
.int-announce{
  padding:16px;
  border-radius:16px;
  background:linear-gradient(135deg, rgba(250,248,243,.96), rgba(243,237,226,.92));
  border:1px solid rgba(0,0,0,.06);
  margin-bottom:14px;
}
.int-announce-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(245,158,11,.12);
  color:#9a5d00;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.int-announce h4{
  font-size:1rem;
  margin-bottom:8px;
  color:#1b2e22;
}
.int-announce p{
  color:rgba(0,0,0,.58);
  font-size:.84rem;
  line-height:1.55;
}
.int-mini-list{
  display:grid;
  gap:10px;
}
.int-mini-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(0,0,0,.05);
}
.int-mini-dot{
  width:10px;height:10px;border-radius:50%;margin-top:6px;flex:0 0 10px;
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  box-shadow:0 0 0 5px rgba(245,158,11,.12);
}
.int-mini-item strong{
  display:block;
  color:#1b2e22;
  font-size:.85rem;
  margin-bottom:3px;
}
.int-mini-item span{
  display:block;
  color:rgba(0,0,0,.54);
  font-size:.78rem;
  line-height:1.45;
}
.creative-exit-btn{
  position:fixed;
  top:18px;
  right:18px;
  z-index:120;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:none;
  border-radius:999px;
  padding:12px 16px;
  font-family:'Share Tech Mono', monospace;
  font-size:.9rem;
  color:#fff;
  text-decoration:none;
  background:linear-gradient(135deg, rgba(5,10,21,.86), rgba(22,28,45,.88));
  border:1px solid rgba(245,158,11,.4);
  box-shadow:0 15px 40px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.05) inset;
  backdrop-filter:blur(14px);
}
.creative-exit-btn:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 18px 44px rgba(0,0,0,.36), 0 0 28px rgba(245,158,11,.28);
}
@media (max-width: 980px){
  .int-quick-grid,
  .int-comms-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 768px){
  body::before,
  body::after{
    width:72vw;
    height:72vw;
    opacity:.18;
  }
  .games-grid .game-card:nth-child(2),
  .games-grid .game-card:nth-child(3){
    transform:none;
  }
  .games-grid .game-card:nth-child(2):hover,
  .games-grid .game-card:nth-child(3):hover{
    transform:translateY(-8px) scale(1.01);
  }
  .int-quick-grid,
  .int-comms-grid{
    grid-template-columns:1fr;
  }
  .creative-exit-btn{
    top:14px;
    right:14px;
    padding:10px 14px;
    font-size:.82rem;
  }
}

