/* =========================================================
   OR CODE WORKS - CSS COMPLETO
   Estilo: minimalista, profesional, púrpura suave
========================================================= */

:root{
  --bg:#faf7ff;
  --bg-2:#f3edff;
  --bg-3:#ede7ff;

  --surface:#ffffff;
  --surface-soft:rgba(255,255,255,.76);
  --surface-glass:rgba(255,255,255,.68);

  --panel:#ffffff;
  --panel-2:#f8f5ff;

  --line:rgba(124,58,237,.16);
  --line-2:rgba(167,139,250,.22);

  --purple:#7c3aed;
  --purple-2:#9f7aea;
  --purple-3:#c4b5fd;
  --purple-soft:#ede9fe;

  --pink:#d946ef;
  --pink-soft:#fae8ff;

  --cyan:#38bdf8;
  --blue:#6366f1;

  --text:#1f1833;
  --heading:#140f24;
  --muted:#6f6684;
  --muted-2:#8a819d;

  --white:#ffffff;
  --shadow:0 24px 70px rgba(76,29,149,.12);
  --shadow-soft:0 16px 42px rgba(76,29,149,.10);

  --radius-xl:32px;
  --radius-lg:24px;
  --radius-md:16px;

  --container-pad:clamp(18px,3vw,28px);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 8%, rgba(196,181,253,.52), transparent 32%),
    radial-gradient(circle at 88% 18%, rgba(250,232,255,.72), transparent 34%),
    radial-gradient(circle at 50% 96%, rgba(219,234,254,.60), transparent 36%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 52%,var(--bg) 100%);
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(124,58,237,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.055) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.75), transparent 86%);
  opacity:.55;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

::selection{
  background:var(--purple);
  color:#fff;
}

/* =========================================================
   CAPAS DECORATIVAS
========================================================= */

.noise-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.035;
  z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.site-glow{
  position:fixed;
  border-radius:999px;
  filter:blur(90px);
  opacity:.34;
  pointer-events:none;
  z-index:-2;
}

.site-glow-one{
  width:380px;
  height:380px;
  background:#c4b5fd;
  top:12%;
  left:-160px;
}

.site-glow-two{
  width:440px;
  height:440px;
  background:#fae8ff;
  bottom:10%;
  right:-160px;
}

.site-glow-three{
  width:300px;
  height:300px;
  background:#bfdbfe;
  top:46%;
  right:22%;
}

/* =========================================================
   NAVBAR
========================================================= */

.or-navbar{
  background:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(124,58,237,.12);
  backdrop-filter:blur(18px);
  padding:10px 0;
  transition:background .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.or-navbar.nav-scrolled{
  background:rgba(255,255,255,.94);
  border-color:rgba(124,58,237,.16);
  box-shadow:0 12px 34px rgba(76,29,149,.10);
}

.brand-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 10px 20px rgba(124,58,237,.16));
}

.brand-wrap{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.brand-mini{
  font-family:'Orbitron',sans-serif;
  letter-spacing:.32em;
  font-size:.68rem;
  color:var(--purple);
}

.brand-text{
  font-family:'Orbitron',sans-serif;
  letter-spacing:.08em;
  font-size:1.08rem;
  font-weight:900;
  color:#211832;
}

.navbar-toggler{
  border-color:rgba(124,58,237,.22);
}

.navbar-toggler:focus{
  box-shadow:0 0 0 .18rem rgba(124,58,237,.16);
}

.navbar-toggler-icon{
  filter:none;
}

.or-navbar .nav-link{
  color:#2a213c!important;
  font-weight:800;
  font-size:.92rem;
  padding:.55rem .78rem!important;
  position:relative;
  transition:color .2s ease;
}

.or-navbar .nav-link::after{
  content:"";
  position:absolute;
  left:.78rem;
  right:.78rem;
  bottom:.2rem;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--purple),var(--pink));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}

.or-navbar .nav-link:hover{
  color:var(--purple)!important;
}

.or-navbar .nav-link:hover::after{
  transform:scaleX(1);
}

.btn-or-outline{
  border:1px solid rgba(124,58,237,.34);
  color:var(--purple)!important;
  border-radius:14px;
  padding:.72rem 1.08rem;
  font-weight:900;
  background:rgba(124,58,237,.06);
  box-shadow:none;
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}

.btn-or-outline:hover{
  background:var(--purple);
  border-color:var(--purple);
  color:#fff!important;
  transform:translateY(-2px);
}

/* =========================================================
   BOTONES GENERALES
========================================================= */

.btn-or-primary,
.btn-lab-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  color:#fff!important;
  border-radius:15px;
  padding:.92rem 1.18rem;
  font-weight:900;
  background:linear-gradient(135deg,var(--purple),var(--blue));
  box-shadow:0 18px 34px rgba(124,58,237,.22);
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}

.btn-or-primary::before,
.btn-lab-primary::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.btn-or-primary:hover,
.btn-lab-primary:hover{
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 22px 46px rgba(124,58,237,.30);
}

.btn-or-primary:hover::before,
.btn-lab-primary:hover::before{
  transform:translateX(120%);
}

.btn-or-dark,
.btn-lab-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:var(--purple)!important;
  border:1px solid rgba(124,58,237,.22);
  background:rgba(255,255,255,.76);
  border-radius:15px;
  padding:.92rem 1.18rem;
  font-weight:900;
  box-shadow:0 14px 30px rgba(76,29,149,.06);
  transition:transform .22s ease, border-color .22s ease, background .22s ease;
}

.btn-or-dark:hover,
.btn-lab-secondary:hover{
  background:#fff;
  border-color:rgba(124,58,237,.42);
  color:var(--purple)!important;
  transform:translateY(-2px);
}

/* =========================================================
   HERO PRINCIPAL EXISTENTE
========================================================= */

.hero-section{
  position:relative;
  min-height:760px;
  padding-top:78px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 28%, rgba(196,181,253,.42), transparent 32%),
    radial-gradient(circle at 12% 18%, rgba(250,232,255,.72), transparent 34%),
    linear-gradient(180deg,#fbf8ff 0%,#f2ecff 100%);
}

.hero-section::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:160px;
  background:linear-gradient(transparent,var(--bg));
  pointer-events:none;
}

.hero-grid{
  min-height:calc(760px - 78px);
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);
  gap:56px;
  align-items:center;
  padding:64px 0 54px;
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:680px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--purple);
  font-family:'Orbitron',sans-serif;
  text-transform:uppercase;
  font-size:.76rem;
  letter-spacing:.12em;
  font-weight:850;
  margin-bottom:18px;
}

.eyebrow span{
  width:46px;
  height:2px;
  background:linear-gradient(90deg,var(--purple),transparent);
  display:inline-block;
}

.hero-title{
  margin:0;
  max-width:680px;
  color:var(--heading);
  font-weight:850;
  letter-spacing:-.045em;
  line-height:1.07;
  font-size:clamp(2.35rem,4.1vw,3.75rem);
}

.hero-title span,
.about-title span{
  color:var(--purple);
  text-shadow:none;
}

.hero-copy{
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.75;
  max-width:620px;
  margin-top:22px;
}

.hero-copy strong{
  color:var(--heading);
}

.hero-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:32px;
  max-width:640px;
}

.hero-proof div{
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.66);
  border-radius:18px;
  padding:15px 16px;
  box-shadow:0 14px 30px rgba(76,29,149,.06);
}

.hero-proof strong{
  font-family:'Inter',sans-serif;
  color:var(--purple);
  display:block;
  font-size:1rem;
  font-weight:900;
}

.hero-proof span{
  color:var(--muted);
  font-size:.86rem;
}

/* Visual viejo con mascota */

.hero-visual{
  position:relative;
  min-height:540px;
  display:grid;
  place-items:center;
}

.mascot-img{
  width:min(100%,470px);
  position:relative;
  z-index:3;
  filter:drop-shadow(0 22px 44px rgba(76,29,149,.16));
}

.planet-glow{
  position:absolute;
  width:72%;
  max-width:500px;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.90),transparent 45%),
    linear-gradient(135deg,rgba(196,181,253,.34),rgba(250,232,255,.46));
  border:1px solid rgba(124,58,237,.12);
  box-shadow:inset 0 0 80px rgba(255,255,255,.38),0 30px 70px rgba(76,29,149,.12);
  z-index:1;
}

.orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid transparent;
  z-index:2;
  opacity:.65;
}

.orbit-one{
  width:86%;
  height:46%;
  border-top-color:rgba(124,58,237,.34);
  border-bottom-color:rgba(217,70,239,.24);
  transform:rotate(-16deg);
}

.orbit-two{
  width:62%;
  height:34%;
  border-left-color:rgba(124,58,237,.28);
  border-right-color:rgba(56,189,248,.26);
  transform:rotate(24deg);
}

.screen-card{
  position:absolute;
  z-index:5;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  border-radius:16px;
  padding:12px 14px;
  display:flex;
  gap:10px;
  align-items:center;
  box-shadow:var(--shadow-soft);
  font-weight:850;
  color:var(--text);
}

.screen-card i{
  color:var(--purple);
}

.screen-card-a{
  left:0;
  top:22%;
}

.screen-card-b{
  right:0;
  bottom:22%;
}

/* =========================================================
   HERO MINIMAL CON WEB + TELÉFONO
   Usa este si tu HTML tiene clases or-min-*
========================================================= */

.or-min-hero{
  position:relative;
  min-height:760px;
  padding:128px 0 82px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 22%, rgba(196,181,253,.48), transparent 32%),
    radial-gradient(circle at 16% 18%, rgba(250,232,255,.72), transparent 34%),
    linear-gradient(180deg,#fbf8ff 0%,#f3edff 62%,#fbf8ff 100%);
}

.or-min-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:
    linear-gradient(rgba(124,58,237,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.055) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 86%);
  opacity:.55;
}

.or-min-grid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);
  gap:64px;
  align-items:center;
}

.or-min-copy{
  max-width:650px;
}

.or-min-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  padding:8px 13px;
  border:1px solid rgba(124,58,237,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--purple);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(76,29,149,.06);
}

.or-min-kicker i{
  color:var(--purple);
  font-size:.58rem;
}

.or-min-copy h1{
  margin:0;
  max-width:640px;
  color:var(--heading);
  font-size:clamp(2.15rem,3.25vw,3.18rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:850;
}

.or-min-copy p{
  max-width:610px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.75;
}

.or-min-copy p strong{
  color:var(--heading);
}

.or-min-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.or-min-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  border-radius:13px;
  font-size:.94rem;
  font-weight:850;
  text-decoration:none;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.or-min-btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--blue));
  border:1px solid transparent;
  box-shadow:0 18px 40px rgba(124,58,237,.22);
}

.or-min-btn-primary:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 22px 46px rgba(124,58,237,.30);
}

.or-min-btn-ghost{
  color:var(--purple);
  border:1px solid rgba(124,58,237,.20);
  background:rgba(255,255,255,.74);
}

.or-min-btn-ghost:hover{
  color:var(--purple);
  border-color:rgba(124,58,237,.42);
  background:#fff;
  transform:translateY(-2px);
}

.or-min-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:28px;
}

.or-min-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:.88rem;
}

.or-min-points span::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--purple);
}

/* Mockup página web + teléfono */

.or-device-stage{
  position:relative;
  min-height:540px;
}

.or-browser{
  position:absolute;
  top:42px;
  right:0;
  width:min(100%,680px);
  height:430px;
  overflow:hidden;
  border:1px solid rgba(124,58,237,.14);
  border-radius:26px;
  background:rgba(255,255,255,.76);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
  animation:orBrowserFloat 7s ease-in-out infinite;
}

.or-browser-top{
  height:54px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 18px;
  border-bottom:1px solid rgba(124,58,237,.10);
  background:rgba(255,255,255,.66);
}

.or-browser-dots{
  display:flex;
  gap:7px;
}

.or-browser-dots span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#e9d5ff;
}

.or-browser-dots span:first-child{
  background:#c084fc;
}

.or-browser-dots span:nth-child(2){
  background:#a78bfa;
}

.or-browser-dots span:nth-child(3){
  background:#ddd6fe;
}

.or-url-bar{
  flex:1;
  height:30px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border:1px solid rgba(124,58,237,.10);
  border-radius:999px;
  background:#f8f5ff;
  color:var(--muted-2);
  font-size:.78rem;
  font-weight:700;
}

.or-browser-screen{
  position:relative;
  height:376px;
  overflow:hidden;
  padding:18px;
}

.or-scroll-page{
  display:grid;
  gap:14px;
  animation:orPageScroll 9s ease-in-out infinite;
}

.or-page-hero{
  min-height:132px;
  padding:22px;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 12%, rgba(196,181,253,.36), transparent 32%),
    linear-gradient(135deg,#ffffff,#f3edff);
  border:1px solid rgba(124,58,237,.12);
}

.or-page-hero span{
  display:block;
  margin-bottom:10px;
  color:var(--purple);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.or-page-hero strong{
  display:block;
  max-width:420px;
  color:var(--heading);
  font-size:1.28rem;
  line-height:1.24;
}

.or-page-hero p{
  max-width:390px;
  margin:10px 0 0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
}

.or-page-menu{
  display:grid;
  grid-template-columns:1.3fr .7fr .9fr;
  gap:10px;
}

.or-page-menu span{
  height:10px;
  border-radius:999px;
  background:#e9d5ff;
}

.or-page-menu span:first-child{
  background:#c4b5fd;
}

.or-page-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.or-page-cards article{
  min-height:118px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.12);
  background:#ffffff;
  box-shadow:0 10px 28px rgba(76,29,149,.06);
}

.or-page-cards i{
  color:var(--purple);
  margin-bottom:12px;
}

.or-page-cards strong{
  display:block;
  color:var(--heading);
  font-size:.96rem;
  margin-bottom:7px;
}

.or-page-cards p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}

.or-page-section{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:14px;
}

.or-page-section > div,
.or-page-section aside{
  min-height:150px;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.12);
  background:#fff;
}

.or-page-section > div{
  display:grid;
  align-content:center;
  gap:12px;
}

.or-page-section > div span{
  height:16px;
  border-radius:999px;
  background:#efe7ff;
}

.or-page-section > div span:nth-child(2){
  width:78%;
  background:#ddd6fe;
}

.or-page-section > div span:nth-child(3){
  width:62%;
}

.or-page-section aside strong{
  color:var(--heading);
}

.or-page-section aside p{
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
  margin:8px 0 0;
}

.or-page-cards-small article{
  min-height:105px;
}

.or-cursor{
  position:absolute;
  left:58%;
  top:42%;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--purple);
  box-shadow:0 14px 30px rgba(76,29,149,.24);
  animation:orCursorMove 9s ease-in-out infinite;
}

.or-phone{
  position:absolute;
  right:26px;
  bottom:0;
  z-index:4;
  width:188px;
  height:370px;
  padding:14px;
  border-radius:34px;
  border:1px solid rgba(124,58,237,.18);
  background:
    linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,255,255,.72));
  box-shadow:var(--shadow);
  animation:orPhoneFloat 5.8s ease-in-out infinite;
}

.or-phone-speaker{
  width:54px;
  height:5px;
  margin:0 auto 12px;
  border-radius:999px;
  background:#c4b5fd;
}

.or-phone-screen{
  height:318px;
  overflow:hidden;
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 0%, rgba(196,181,253,.36), transparent 36%),
    linear-gradient(180deg,#ffffff,#f3edff);
  border:1px solid rgba(124,58,237,.12);
  padding:16px;
}

.or-phone-scroll{
  display:grid;
  gap:12px;
  animation:orPhoneScroll 7s ease-in-out infinite;
}

.or-phone-logo{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 4px;
  border-radius:50%;
  background:#ffffff;
  border:1px solid rgba(124,58,237,.12);
  box-shadow:0 10px 24px rgba(76,29,149,.10);
}

.or-phone-logo img{
  width:48px;
  height:48px;
  object-fit:contain;
}

.or-phone-scroll > strong{
  color:var(--heading);
  text-align:center;
  font-size:1rem;
}

.or-phone-scroll > p{
  color:var(--muted);
  text-align:center;
  font-size:.78rem;
  line-height:1.45;
  margin:0 0 4px;
}

.or-phone-card{
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.12);
  background:#ffffff;
}

.or-phone-card span{
  display:block;
  color:var(--muted-2);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:4px;
}

.or-phone-card b{
  display:block;
  color:var(--heading);
  font-size:.82rem;
  line-height:1.25;
}

.or-floating-label{
  position:absolute;
  left:10px;
  bottom:56px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.16);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  color:var(--heading);
  font-size:.9rem;
  font-weight:850;
  box-shadow:var(--shadow-soft);
  animation:orLabelFloat 6s ease-in-out infinite;
}

.or-floating-label i{
  color:var(--purple);
}

/* =========================================================
   STRIP / BENEFICIOS
========================================================= */

.trusted-strip,
.or-min-strip,
.or-command-strip{
  position:relative;
  z-index:6;
  margin-top:-26px;
}

.trusted-panel,
.or-min-strip-grid,
.command-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.trusted-panel{
  gap:1px;
  border:1px solid rgba(124,58,237,.16);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(90deg,rgba(196,181,253,.36),rgba(250,232,255,.46));
  box-shadow:var(--shadow);
}

.trusted-panel div{
  padding:22px;
  display:flex;
  gap:12px;
  align-items:center;
  background:rgba(255,255,255,.82);
  color:var(--text);
  font-weight:800;
}

.trusted-panel i{
  color:var(--purple);
  font-size:1.35rem;
}

.or-min-strip{
  padding-bottom:74px;
}

.or-min-strip-grid article,
.command-item{
  min-height:150px;
  padding:22px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(76,29,149,.06);
  transition:transform .22s ease, border-color .22s ease, background .22s ease;
}

.or-min-strip-grid article:hover,
.command-item:hover{
  transform:translateY(-4px);
  border-color:rgba(124,58,237,.26);
  background:#ffffff;
}

.or-min-strip-grid span{
  display:block;
  color:var(--purple);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:12px;
}

.or-min-strip-grid strong{
  display:block;
  color:var(--heading);
  font-size:1rem;
  margin-bottom:9px;
}

.or-min-strip-grid p{
  margin:0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.55;
}

.command-panel{
  gap:12px;
  border:0;
  background:transparent;
  box-shadow:none;
}

.command-item{
  display:flex;
  gap:16px;
  align-items:flex-start;
}

.command-item i{
  width:44px;
  height:44px;
  min-width:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--purple);
  background:var(--purple-soft);
  border:1px solid rgba(124,58,237,.12);
  font-size:1.1rem;
}

.command-item strong{
  display:block;
  color:var(--heading);
  font-weight:900;
  margin-bottom:8px;
  line-height:1.25;
}

.command-item span{
  display:block;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.55;
}

/* =========================================================
   SECCIONES GENERALES
========================================================= */

.section-pad{
  padding:96px 0;
  position:relative;
}

.section-heading span{
  color:var(--purple);
  font-family:'Orbitron',sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:900;
  font-size:.76rem;
}

.section-heading h2{
  color:var(--heading);
  font-weight:850;
  letter-spacing:-.035em;
  font-size:clamp(2rem,3.2vw,3rem);
  margin:12px auto 10px;
  max-width:900px;
  line-height:1.12;
}

.section-heading p{
  color:var(--muted);
  max-width:740px;
  margin:auto;
  line-height:1.75;
}

.service-card{
  height:100%;
  padding:28px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 0%,rgba(250,232,255,.72),transparent 28%),
    #ffffff;
  box-shadow:0 16px 42px rgba(76,29,149,.08);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  position:relative;
  overflow:hidden;
}

.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 0%,rgba(196,181,253,.28),transparent 30%),
    radial-gradient(circle at 90% 18%,rgba(219,234,254,.28),transparent 28%);
  opacity:.9;
  pointer-events:none;
}

.service-card > *{
  position:relative;
}

.service-card:hover{
  transform:translateY(-6px);
  border-color:rgba(124,58,237,.26);
  box-shadow:0 26px 55px rgba(76,29,149,.12);
}

.service-icon{
  width:70px;
  height:70px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:1.7rem;
  color:var(--purple);
  border:1px solid rgba(124,58,237,.14);
  background:var(--purple-soft);
  margin-bottom:22px;
}

.service-icon.purple{
  color:var(--pink);
  border-color:rgba(217,70,239,.16);
  background:var(--pink-soft);
}

.service-card h3{
  color:var(--heading);
  font-weight:900;
  font-size:1.22rem;
  margin-bottom:12px;
}

.service-card p{
  color:var(--muted);
  line-height:1.65;
}

.service-card ul{
  list-style:none;
  margin:18px 0 12px;
  padding:0;
  display:grid;
  gap:8px;
}

.service-card li{
  color:var(--text);
  font-size:.9rem;
}

.service-card li::before{
  content:"✦";
  color:var(--purple);
  margin-right:8px;
}

.service-card a{
  color:var(--purple);
  font-weight:900;
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:8px;
}

/* =========================================================
   PANELES, SOLUCIONES Y MOCKUPS
========================================================= */

.split-panel,
.process-panel,
.cta-panel,
.form-panel,
.tech-panel{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(124,58,237,.12);
  border-radius:34px;
  padding:42px;
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(16px);
}

.split-panel::before,
.tech-panel::before,
.cta-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 84% 18%,rgba(196,181,253,.34),transparent 34%),
    radial-gradient(circle at 18% 82%,rgba(250,232,255,.54),transparent 36%);
  pointer-events:none;
}

.split-panel > *,
.tech-panel > *,
.cta-panel > *{
  position:relative;
}

.section-title-left{
  color:var(--heading);
  font-size:clamp(2rem,3.1vw,3rem);
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.1;
}

.muted-lg{
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.8;
}

.solution-list{
  display:grid;
  gap:14px;
  margin-top:24px;
}

.solution-list div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  color:var(--text);
  font-weight:750;
}

.solution-list i{
  color:var(--purple);
  margin-top:4px;
}

.dashboard-mockup{
  border:1px solid rgba(124,58,237,.12);
  border-radius:28px;
  background:#ffffff;
  overflow:hidden;
  box-shadow:0 20px 54px rgba(76,29,149,.10);
}

.mockup-top{
  height:58px;
  border-bottom:1px solid rgba(124,58,237,.10);
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 18px;
  color:var(--muted);
  background:#fbf8ff;
}

.mockup-top span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c084fc;
}

.mockup-top span:nth-child(2){
  background:#a78bfa;
}

.mockup-top span:nth-child(3){
  background:#ddd6fe;
}

.mockup-top b{
  margin-left:auto;
  font-family:'Orbitron',sans-serif;
  font-size:.78rem;
  letter-spacing:.08em;
  color:var(--purple);
}

.mockup-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  padding:20px;
}

.metric{
  border:1px solid rgba(124,58,237,.10);
  border-radius:20px;
  padding:20px;
  background:#fbf8ff;
}

.metric small{
  display:block;
  color:var(--muted);
  font-weight:800;
}

.metric strong{
  font-family:'Inter',sans-serif;
  font-size:1.8rem;
  color:var(--purple);
  display:block;
  margin-top:8px;
  font-weight:900;
}

.metric em{
  font-style:normal;
  color:var(--pink);
}

.metric.wide{
  grid-column:span 2;
}

.bar{
  height:13px;
  background:#ede9fe;
  border-radius:999px;
  margin:12px 0;
  overflow:hidden;
}

.bar i{
  display:block;
  height:100%;
  background:linear-gradient(90deg,var(--purple-2),var(--pink));
  border-radius:999px;
}

.metric p{
  color:var(--muted);
  margin:10px 0 0;
}

/* =========================================================
   PROCESO / TIMELINE
========================================================= */

.timeline-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
}

.step{
  padding:24px;
  border-radius:22px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(124,58,237,.12);
  height:100%;
  box-shadow:0 14px 34px rgba(76,29,149,.06);
  transition:transform .22s ease, border-color .22s ease, background .22s ease;
}

.pro-step:hover,
.step:hover{
  transform:translateY(-5px);
  border-color:rgba(124,58,237,.26);
  background:#fff;
}

.step b{
  font-family:'Inter',sans-serif;
  color:var(--purple);
  font-size:1.28rem;
  font-weight:900;
}

.step h4{
  color:var(--heading);
  font-weight:900;
  margin:12px 0 8px;
}

.step p{
  color:var(--muted);
  margin:0;
  line-height:1.62;
}

/* =========================================================
   NOSOTROS / ABOUT
========================================================= */

.media-frame{
  position:relative;
}

.media-frame::before{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px solid rgba(124,58,237,.14);
  border-radius:36px;
  transform:rotate(-1deg);
}

.about-img{
  width:100%;
  border-radius:30px;
  border:1px solid rgba(124,58,237,.14);
  box-shadow:var(--shadow);
  position:relative;
}

.about-title{
  color:var(--heading);
  font-size:clamp(2rem,3.1vw,3rem);
  font-weight:850;
  line-height:1.1;
  letter-spacing:-.035em;
}

.about-copy{
  color:var(--muted);
  line-height:1.82;
  font-size:1.04rem;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:26px;
}

.stats-grid div{
  border:1px solid rgba(124,58,237,.12);
  border-radius:20px;
  padding:18px;
  background:rgba(255,255,255,.76);
  box-shadow:0 14px 30px rgba(76,29,149,.05);
}

.stats-grid strong{
  display:block;
  font-family:'Inter',sans-serif;
  font-size:1.32rem;
  color:var(--purple);
  font-weight:900;
}

.stats-grid span{
  color:var(--muted);
  font-size:.88rem;
}

/* =========================================================
   TECH CLOUD
========================================================= */

.tech-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:28px;
  position:relative;
}

.tech-cloud span{
  border:1px solid rgba(124,58,237,.12);
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:11px 16px;
  color:var(--text);
  font-weight:850;
  box-shadow:0 10px 24px rgba(76,29,149,.05);
}

/* =========================================================
   CTA
========================================================= */

.cta-section{
  padding:22px 0 96px;
}

.cta-panel{
  text-align:center;
}

.cta-panel span{
  font-family:'Orbitron',sans-serif;
  color:var(--purple);
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.76rem;
  position:relative;
  font-weight:900;
}

.cta-panel h2{
  color:var(--heading);
  font-weight:850;
  margin:14px auto 0;
  max-width:900px;
  font-size:clamp(1.9rem,2.8vw,2.8rem);
  line-height:1.14;
  letter-spacing:-.035em;
  position:relative;
}

.cta-panel p{
  color:var(--muted);
  max-width:720px;
  margin:14px auto 0;
  position:relative;
  line-height:1.7;
}

/* =========================================================
   FOOTER
========================================================= */

.or-footer{
  padding:34px 0;
  background:rgba(255,255,255,.80);
  border-top:1px solid rgba(124,58,237,.12);
  color:var(--muted);
  backdrop-filter:blur(16px);
}

.or-footer a{
  color:var(--purple);
  font-weight:800;
}

.footer-logo{
  height:58px;
  width:58px;
  object-fit:contain;
  border-radius:50%;
  filter:drop-shadow(0 12px 22px rgba(76,29,149,.12));
}

.or-footer hr{
  border-color:rgba(124,58,237,.14);
  margin:26px 0;
}

/* =========================================================
   CONTACTO
========================================================= */

.contact-main{
  min-height:100vh;
  padding:150px 0 90px;
  background:
    radial-gradient(circle at 76% 18%,rgba(196,181,253,.46),transparent 32%),
    radial-gradient(circle at 20% 72%,rgba(250,232,255,.66),transparent 34%),
    linear-gradient(180deg,#fbf8ff,#f3edff);
}

.contact-title{
  color:var(--heading);
  font-weight:850;
  font-size:clamp(2.2rem,3.8vw,3.6rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

.contact-copy{
  color:var(--muted);
  line-height:1.8;
  font-size:1.04rem;
}

.contact-card-info{
  margin-top:28px;
  padding:24px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  box-shadow:0 14px 34px rgba(76,29,149,.06);
}

.contact-card-info p{
  margin:12px 0;
  color:var(--text);
}

.contact-card-info i{
  color:var(--purple);
  width:24px;
}

.form-label{
  font-weight:850;
  color:var(--heading);
}

.form-control,
.form-select{
  background:#ffffff;
  border:1px solid rgba(124,58,237,.14);
  color:var(--text);
  border-radius:14px;
  padding:.88rem 1rem;
  box-shadow:none;
}

.form-control::placeholder{
  color:#9b93ad;
}

.form-control:focus,
.form-select:focus{
  background:#fff;
  border-color:var(--purple-2);
  box-shadow:0 0 0 .25rem rgba(124,58,237,.12);
  color:var(--text);
}

.form-select option{
  color:var(--text);
}

.contact-page .form-panel{
  box-shadow:var(--shadow);
}

/* =========================================================
   HERO LAB ANTIGUO - SUAVIZADO
   Por si tu HTML todavía usa clases or-lab-*
========================================================= */

.or-lab-hero{
  position:relative;
  min-height:760px;
  padding-top:86px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 25%, rgba(196,181,253,.48), transparent 30%),
    radial-gradient(circle at 15% 20%, rgba(250,232,255,.70), transparent 32%),
    linear-gradient(180deg,#fbf8ff 0%,#f3edff 64%,#fbf8ff 100%);
}

.or-lab-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(124,58,237,.055) 1px, transparent 1px),
    linear-gradient(rgba(124,58,237,.055) 1px, transparent 1px);
  background-size:76px 76px;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 84%);
  opacity:.55;
  pointer-events:none;
}

.or-lab-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:160px;
  background:linear-gradient(transparent,var(--bg));
  pointer-events:none;
  z-index:1;
}

.hero-circuit{
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(circle, rgba(124,58,237,.18) 1px, transparent 1.5px);
  background-size:90px 90px;
  opacity:.30;
  pointer-events:none;
}

.hero-scanline{
  position:absolute;
  left:-20%;
  top:18%;
  width:140%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(124,58,237,.22), transparent);
  transform:rotate(-8deg);
  opacity:.45;
}

.hero-lab-grid{
  position:relative;
  z-index:3;
  min-height:calc(760px - 86px);
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  align-items:center;
  gap:60px;
  padding:66px 0 64px;
}

.hero-lab-content{
  max-width:680px;
}

.hero-status{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 13px;
  border:1px solid rgba(124,58,237,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--purple);
  font-family:'Orbitron',sans-serif;
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.10em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(76,29,149,.06);
  margin-bottom:20px;
}

.status-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--purple);
  box-shadow:0 0 16px rgba(124,58,237,.35);
}

.hero-lab-title{
  margin:0;
  max-width:680px;
  font-size:clamp(2.15rem,3.55vw,3.45rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:850;
  color:var(--heading);
  text-wrap:balance;
}

.hero-lab-title::after{
  content:"";
  display:block;
  width:120px;
  height:3px;
  margin-top:22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--purple),var(--pink),transparent);
}

.hero-lab-copy{
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.78;
  max-width:620px;
  margin:24px 0 0;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
}

.btn-lab-primary,
.btn-lab-secondary{
  min-height:50px;
}

.hero-lab-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
  max-width:680px;
}

.hero-lab-proof div{
  position:relative;
  padding:17px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.12);
  background:rgba(255,255,255,.74);
  box-shadow:0 14px 30px rgba(76,29,149,.06);
  overflow:hidden;
}

.hero-lab-proof div::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg,var(--purple),transparent);
  opacity:.75;
}

.hero-lab-proof span{
  display:block;
  color:var(--purple);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.hero-lab-proof strong{
  display:block;
  color:var(--heading);
  font-size:1rem;
  font-weight:900;
  margin-bottom:6px;
}

.hero-lab-proof p{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
  margin:0;
}

.hero-lab-visual{
  position:relative;
  min-height:560px;
  display:grid;
  place-items:center;
}

.lab-main-card{
  width:min(100%,520px);
  position:relative;
  z-index:4;
  border:1px solid rgba(124,58,237,.14);
  border-radius:30px;
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadow);
  overflow:hidden;
  backdrop-filter:blur(18px);
  transform:perspective(1000px) rotateY(-5deg) rotateX(3deg);
  animation:orBrowserFloat 7s ease-in-out infinite;
}

.lab-window-top{
  height:58px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(124,58,237,.10);
  background:rgba(255,255,255,.62);
}

.window-dots{
  display:flex;
  gap:8px;
}

.window-dots span{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#c084fc;
}

.window-dots span:nth-child(2){
  background:#a78bfa;
}

.window-dots span:nth-child(3){
  background:#ddd6fe;
}

.lab-window-top small{
  color:var(--muted);
  font-family:'Orbitron',sans-serif;
  font-size:.70rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.lab-terminal{
  padding:24px;
  display:grid;
  gap:12px;
}

.lab-terminal p{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  font-size:.92rem;
  padding:12px 14px;
  border-radius:14px;
  background:#fbf8ff;
  border:1px solid rgba(124,58,237,.10);
}

.lab-terminal p span{
  color:var(--purple);
  font-weight:900;
  margin-right:8px;
}

.lab-dashboard-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border-top:1px solid rgba(124,58,237,.10);
  background:rgba(124,58,237,.10);
}

.lab-dashboard-row div{
  padding:18px;
  background:#fff;
}

.lab-dashboard-row small{
  display:block;
  color:var(--muted);
  font-weight:800;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.lab-dashboard-row strong{
  font-family:'Inter',sans-serif;
  font-size:1.25rem;
  color:var(--purple);
  font-weight:900;
}

.lab-logo-core{
  position:absolute;
  z-index:6;
  right:4%;
  top:8%;
  width:150px;
  height:150px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow-soft);
  animation:orPhoneFloat 6s ease-in-out infinite;
}

.lab-logo-core img{
  width:112px;
  height:112px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(76,29,149,.12));
}

.lab-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid transparent;
  pointer-events:none;
  opacity:.55;
}

.lab-orbit-one{
  width:86%;
  height:48%;
  border-top-color:rgba(124,58,237,.34);
  border-bottom-color:rgba(217,70,239,.24);
  transform:rotate(-18deg);
}

.lab-orbit-two{
  width:60%;
  height:34%;
  border-left-color:rgba(124,58,237,.26);
  border-right-color:rgba(56,189,248,.22);
  transform:rotate(26deg);
}

.floating-chip{
  position:absolute;
  z-index:7;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px);
  color:var(--heading);
  font-weight:850;
  box-shadow:var(--shadow-soft);
  animation:orLabelFloat 6s ease-in-out infinite;
}

.floating-chip i{
  color:var(--purple);
}

.chip-one{
  left:0;
  top:24%;
}

.chip-two{
  right:3%;
  bottom:24%;
}

.chip-three{
  left:8%;
  bottom:13%;
}

/* =========================================================
   COMPATIBILIDAD OCW
   Por si todavía tienes el hero con clases ocw-*
========================================================= */

.ocw-hero-pro{
  position:relative;
  min-height:760px;
  padding:128px 0 82px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 22%, rgba(196,181,253,.48), transparent 32%),
    radial-gradient(circle at 16% 18%, rgba(250,232,255,.72), transparent 34%),
    linear-gradient(180deg,#fbf8ff 0%,#f3edff 62%,#fbf8ff 100%);
}

.ocw-grid-motion{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(124,58,237,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.055) 1px, transparent 1px);
  background-size:76px 76px;
  opacity:.45;
  pointer-events:none;
}

.ocw-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(80px);
  opacity:.22;
  pointer-events:none;
}

.ocw-orb-one{
  width:360px;
  height:360px;
  background:#c4b5fd;
  top:15%;
  left:-140px;
}

.ocw-orb-two{
  width:420px;
  height:420px;
  background:#fae8ff;
  right:-160px;
  top:16%;
}

.ocw-orb-three{
  width:280px;
  height:280px;
  background:#bfdbfe;
  left:50%;
  bottom:6%;
}

.ocw-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:64px;
  align-items:center;
}

.ocw-hero-copy{
  max-width:650px;
}

.ocw-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  padding:8px 13px;
  border:1px solid rgba(124,58,237,.16);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--purple);
  font-family:'Orbitron',sans-serif;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ocw-badge span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--purple);
}

.ocw-hero-copy h1{
  margin:0;
  max-width:640px;
  color:var(--heading);
  font-size:clamp(2.15rem,3.25vw,3.18rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:850;
}

.ocw-hero-copy h1::after{
  content:"";
  display:block;
  width:120px;
  height:3px;
  margin-top:22px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--purple),var(--pink),transparent);
}

.ocw-hero-copy p{
  max-width:610px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.75;
}

.ocw-hero-copy p strong{
  color:var(--heading);
}

.ocw-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.ocw-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 18px;
  border-radius:13px;
  font-size:.94rem;
  font-weight:850;
  text-decoration:none;
  transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.ocw-btn-primary{
  color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--blue));
  border:1px solid transparent;
  box-shadow:0 18px 40px rgba(124,58,237,.22);
}

.ocw-btn-primary:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 22px 46px rgba(124,58,237,.30);
}

.ocw-btn-secondary{
  color:var(--purple);
  border:1px solid rgba(124,58,237,.20);
  background:rgba(255,255,255,.74);
}

.ocw-btn-secondary:hover{
  color:var(--purple);
  border-color:rgba(124,58,237,.42);
  background:#fff;
  transform:translateY(-2px);
}

.ocw-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:32px;
}

.ocw-proof article{
  padding:17px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.12);
  background:rgba(255,255,255,.74);
  box-shadow:0 14px 30px rgba(76,29,149,.06);
}

.ocw-proof strong{
  display:block;
  color:var(--heading);
  font-weight:900;
  margin-bottom:6px;
}

.ocw-proof span{
  color:var(--muted);
  font-size:.86rem;
  line-height:1.5;
}

.ocw-hero-visual{
  position:relative;
  min-height:540px;
  display:grid;
  place-items:center;
}

.ocw-main-panel{
  width:min(100%,520px);
  position:relative;
  z-index:4;
  border:1px solid rgba(124,58,237,.14);
  border-radius:30px;
  background:rgba(255,255,255,.78);
  box-shadow:var(--shadow);
  overflow:hidden;
  backdrop-filter:blur(18px);
  animation:orBrowserFloat 7s ease-in-out infinite;
}

.ocw-panel-top{
  height:58px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(124,58,237,.10);
  background:rgba(255,255,255,.62);
}

.ocw-dots{
  display:flex;
  gap:8px;
}

.ocw-dots span{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#c084fc;
}

.ocw-dots span:nth-child(2){
  background:#a78bfa;
}

.ocw-dots span:nth-child(3){
  background:#ddd6fe;
}

.ocw-panel-top small{
  color:var(--muted);
  font-family:'Orbitron',sans-serif;
  font-size:.70rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.ocw-panel-body{
  padding:24px;
}

.ocw-panel-title,
.ocw-progress-card,
.ocw-solution-list div{
  border:1px solid rgba(124,58,237,.10);
  border-radius:18px;
  background:#fbf8ff;
  color:var(--text);
}

.ocw-panel-title{
  padding:18px;
  margin-bottom:14px;
}

.ocw-panel-title span{
  color:var(--purple);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.ocw-panel-title strong{
  display:block;
  color:var(--heading);
  font-size:1.15rem;
  margin-top:6px;
}

.ocw-progress-card{
  padding:14px;
  margin-bottom:12px;
}

.ocw-progress-card > div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--text);
  font-weight:850;
  margin-bottom:10px;
}

.ocw-progress-card strong{
  color:var(--purple);
}

.ocw-progress{
  height:9px;
  border-radius:999px;
  overflow:hidden;
  background:#ede9fe;
}

.ocw-progress span{
  display:block;
  width:var(--w);
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--purple-2),var(--pink));
}

.ocw-solution-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.ocw-solution-list div{
  display:flex;
  gap:10px;
  padding:12px;
  color:var(--muted);
}

.ocw-solution-list i{
  color:var(--purple);
  margin-top:4px;
}

.ocw-logo-orbit{
  position:absolute;
  z-index:6;
  right:4%;
  top:3%;
  width:136px;
  height:136px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-soft);
  animation:orPhoneFloat 6s ease-in-out infinite;
}

.ocw-logo-orbit img{
  width:100px;
  height:100px;
  object-fit:contain;
}

.ocw-floating-card{
  position:absolute;
  z-index:7;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px);
  color:var(--heading);
  font-weight:850;
  box-shadow:var(--shadow-soft);
  animation:orLabelFloat 6s ease-in-out infinite;
}

.ocw-floating-card i{
  color:var(--purple);
}

.ocw-float-a{
  left:0;
  top:24%;
}

.ocw-float-b{
  right:3%;
  bottom:24%;
}

.ocw-float-c{
  left:8%;
  bottom:13%;
}

.ocw-value-strip{
  position:relative;
  z-index:6;
  margin-top:-26px;
  padding-bottom:74px;
}

.ocw-value-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.ocw-value-panel article{
  min-height:150px;
  padding:22px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:22px;
  background:rgba(255,255,255,.76);
  box-shadow:0 14px 34px rgba(76,29,149,.06);
}

.ocw-value-panel i{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--purple);
  background:var(--purple-soft);
  margin-bottom:14px;
}

.ocw-value-panel strong{
  display:block;
  color:var(--heading);
  font-weight:900;
  margin-bottom:8px;
}

.ocw-value-panel span{
  color:var(--muted);
  font-size:.9rem;
  line-height:1.55;
}

/* =========================================================
   ANIMACIONES
========================================================= */

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease, transform .65s ease;
}

.reveal.show{
  opacity:1;
  transform:none;
}

@keyframes orBrowserFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-10px);
  }
}

@keyframes orPhoneFloat{
  0%,100%{
    transform:translateY(0) rotate(1.5deg);
  }
  50%{
    transform:translateY(-14px) rotate(-1deg);
  }
}

@keyframes orLabelFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-8px);
  }
}

@keyframes orPageScroll{
  0%,18%{
    transform:translateY(0);
  }
  48%,65%{
    transform:translateY(-178px);
  }
  100%{
    transform:translateY(0);
  }
}

@keyframes orPhoneScroll{
  0%,20%{
    transform:translateY(0);
  }
  55%,72%{
    transform:translateY(-118px);
  }
  100%{
    transform:translateY(0);
  }
}

@keyframes orCursorMove{
  0%,20%{
    left:58%;
    top:42%;
  }
  42%,58%{
    left:25%;
    top:62%;
  }
  76%,100%{
    left:70%;
    top:30%;
  }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1199px){
  .hero-grid,
  .hero-lab-grid,
  .or-min-grid,
  .ocw-hero-inner{
    grid-template-columns:1fr;
    gap:42px;
  }

  .hero-content,
  .hero-lab-content,
  .or-min-copy,
  .ocw-hero-copy{
    max-width:760px;
  }

  .hero-visual,
  .hero-lab-visual,
  .or-device-stage,
  .ocw-hero-visual{
    min-height:560px;
  }

  .or-browser{
    left:0;
    right:auto;
  }

  .lab-main-card{
    transform:none;
  }

  .timeline-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .trusted-panel,
  .or-min-strip-grid,
  .command-panel,
  .ocw-value-panel{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:991px){
  .or-navbar{
    background:rgba(255,255,255,.96);
  }

  .section-pad{
    padding:76px 0;
  }

  .hero-grid{
    padding-top:42px;
  }

  .hero-proof,
  .hero-lab-proof,
  .ocw-proof{
    grid-template-columns:1fr;
  }

  .timeline-grid{
    grid-template-columns:1fr 1fr;
  }

  .split-panel,
  .cta-panel,
  .form-panel,
  .tech-panel{
    padding:30px;
  }

  .mockup-grid{
    grid-template-columns:1fr;
  }

  .metric.wide{
    grid-column:span 1;
  }
}

@media(max-width:767px){
  .hero-section,
  .or-lab-hero,
  .or-min-hero,
  .ocw-hero-pro{
    min-height:auto;
    padding-top:96px;
    padding-bottom:64px;
  }

  .hero-grid,
  .hero-lab-grid{
    min-height:auto;
    padding:42px 0 52px;
  }

  .hero-title,
  .hero-lab-title,
  .or-min-copy h1,
  .ocw-hero-copy h1{
    font-size:2.18rem;
    letter-spacing:-.035em;
  }

  .hero-copy,
  .hero-lab-copy,
  .or-min-copy p,
  .ocw-hero-copy p{
    font-size:.98rem;
  }

  .hero-actions,
  .or-min-actions,
  .ocw-actions{
    flex-direction:column;
  }

  .btn-or-primary,
  .btn-or-dark,
  .btn-lab-primary,
  .btn-lab-secondary,
  .or-min-btn,
  .ocw-btn{
    width:100%;
  }

  .hero-visual,
  .hero-lab-visual,
  .or-device-stage,
  .ocw-hero-visual{
    min-height:470px;
  }

  .or-browser{
    width:100%;
    height:390px;
    top:20px;
  }

  .or-browser-screen{
    height:336px;
  }

  .or-phone{
    width:150px;
    height:300px;
    right:8px;
    bottom:0;
    padding:11px;
    border-radius:28px;
  }

  .or-phone-screen{
    height:256px;
    border-radius:20px;
    padding:12px;
  }

  .or-floating-label,
  .floating-chip,
  .screen-card,
  .ocw-floating-card{
    display:none;
  }

  .lab-logo-core,
  .ocw-logo-orbit{
    width:120px;
    height:120px;
    right:0;
    top:2%;
  }

  .lab-logo-core img,
  .ocw-logo-orbit img{
    width:88px;
    height:88px;
  }

  .lab-dashboard-row{
    grid-template-columns:1fr;
  }

  .trusted-panel,
  .or-min-strip-grid,
  .command-panel,
  .ocw-value-panel{
    grid-template-columns:1fr;
  }

  .or-min-strip,
  .ocw-value-strip{
    margin-top:0;
    padding-bottom:56px;
  }

  .stats-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:575px){
  .brand-logo{
    width:44px;
    height:44px;
  }

  .brand-text{
    font-size:.9rem;
  }

  .brand-mini{
    font-size:.62rem;
  }

  .hero-title,
  .hero-lab-title,
  .or-min-copy h1,
  .ocw-hero-copy h1{
    font-size:2rem;
  }

  .hero-visual,
  .hero-lab-visual{
    min-height:360px;
  }

  .timeline-grid{
    grid-template-columns:1fr;
  }

  .split-panel,
  .cta-panel,
  .form-panel,
  .tech-panel{
    padding:24px;
    border-radius:26px;
  }

  .service-card{
    padding:24px;
  }

  .section-heading h2{
    font-size:2rem;
  }

  .or-page-cards,
  .or-page-section{
    grid-template-columns:1fr;
  }

  .or-phone{
    display:none;
  }

  .ocw-proof{
    grid-template-columns:1fr;
  }
}

@media(max-width:420px){
  .or-min-kicker,
  .hero-status,
  .ocw-badge{
    font-size:.66rem;
    letter-spacing:.06em;
  }

  .or-browser{
    height:360px;
  }

  .or-browser-screen{
    height:306px;
    padding:14px;
  }

  .hero-proof div,
  .hero-lab-proof div,
  .ocw-proof article{
    padding:15px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
/* ==================================================
   CTA - LABORATORIO DE IDEAS
================================================== */

.or-idea-section{
  padding:30px 0 100px;
}

.or-idea-panel{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) 470px;
  gap:42px;
  align-items:center;
  min-height:470px;
  padding:50px;
  border-radius:36px;
  border:1px solid rgba(124,58,237,.14);
  background:
    radial-gradient(circle at 12% 18%, rgba(196,181,253,.45), transparent 30%),
    radial-gradient(circle at 86% 20%, rgba(250,232,255,.82), transparent 34%),
    linear-gradient(135deg,#ffffff 0%,#fbf8ff 48%,#f3edff 100%);
  box-shadow:0 30px 85px rgba(76,29,149,.13);
}

.or-idea-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(124,58,237,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.055) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.52), transparent 86%);
  pointer-events:none;
}

.or-idea-panel::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-120px;
  bottom:-130px;
  border-radius:50%;
  background:rgba(196,181,253,.42);
  filter:blur(70px);
  pointer-events:none;
}

.or-idea-panel > *{
  position:relative;
}

.or-idea-bg-line{
  position:absolute;
  width:620px;
  height:620px;
  right:-60px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  border:1px solid rgba(124,58,237,.12);
  pointer-events:none;
}

.or-idea-bg-line::before,
.or-idea-bg-line::after{
  content:"";
  position:absolute;
  inset:70px;
  border-radius:50%;
  border:1px solid rgba(217,70,239,.10);
}

.or-idea-bg-line::after{
  inset:140px;
  border-color:rgba(124,58,237,.12);
}

.or-idea-content{
  max-width:760px;
  z-index:3;
}

.or-idea-kicker{
  display:inline-flex;
  align-items:center;
  margin-bottom:16px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.16);
  background:rgba(255,255,255,.78);
  color:#7c3aed;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(76,29,149,.06);
}

.or-idea-content h2{
  max-width:820px;
  margin:0;
  color:#20172f;
  font-size:clamp(2.1rem,3.25vw,3.2rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:900;
}

.or-idea-content p{
  max-width:700px;
  margin:18px 0 0;
  color:#6f6684;
  font-size:1rem;
  line-height:1.76;
}

.or-idea-content p strong{
  color:#20172f;
}

.or-idea-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:18px;
  margin-top:30px;
}

.or-idea-support{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:330px;
  color:#6f6684;
  font-size:.9rem;
  line-height:1.45;
  font-weight:750;
}

.or-idea-support i{
  color:#7c3aed;
  margin-top:3px;
}

/* Visual */

.or-idea-visual{
  position:relative;
  min-height:390px;
  display:grid;
  place-items:center;
  z-index:3;
}

.or-idea-core{
  position:relative;
  z-index:5;
  width:190px;
  height:190px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
  border-radius:50%;
  border:1px solid rgba(124,58,237,.16);
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.92), transparent 38%),
    linear-gradient(135deg,#ffffff,#f3edff);
  box-shadow:
    0 24px 62px rgba(76,29,149,.15),
    inset 0 0 40px rgba(196,181,253,.22);
  animation:orIdeaCoreFloat 6s ease-in-out infinite;
}

.or-idea-core-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  border-radius:20px;
  color:#7c3aed;
  background:#ede9fe;
  font-size:1.35rem;
}

.or-idea-core span{
  display:block;
  color:#7c3aed;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.or-idea-core strong{
  display:block;
  max-width:130px;
  margin-top:6px;
  color:#20172f;
  font-size:1.04rem;
  line-height:1.2;
  font-weight:900;
}

.or-idea-orbit{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.or-idea-orbit-one{
  width:360px;
  height:360px;
  border:1px solid rgba(124,58,237,.14);
  animation:orIdeaOrbit 18s linear infinite;
}

.or-idea-orbit-two{
  width:280px;
  height:280px;
  border:1px dashed rgba(217,70,239,.18);
  animation:orIdeaOrbit 22s linear infinite reverse;
}

.or-idea-card{
  position:absolute;
  z-index:6;
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:210px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 46px rgba(76,29,149,.12);
  backdrop-filter:blur(14px);
  animation:orIdeaCardFloat 6s ease-in-out infinite;
}

.or-idea-card i{
  width:40px;
  height:40px;
  min-width:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#7c3aed;
  background:#ede9fe;
}

.or-idea-card strong{
  display:block;
  color:#20172f;
  font-size:.9rem;
  font-weight:900;
  line-height:1.2;
}

.or-idea-card span{
  display:block;
  margin-top:4px;
  color:#6f6684;
  font-size:.76rem;
  line-height:1.35;
}

.or-idea-card-one{
  top:20px;
  left:0;
}

.or-idea-card-two{
  top:38px;
  right:-8px;
  animation-delay:-1.2s;
}

.or-idea-card-three{
  bottom:42px;
  left:12px;
  animation-delay:-2s;
}

.or-idea-card-four{
  bottom:18px;
  right:18px;
  animation-delay:-3s;
}

/* Animaciones */

@keyframes orIdeaCoreFloat{
  0%,100%{
    transform:translateY(0) scale(1);
  }
  50%{
    transform:translateY(-10px) scale(1.02);
  }
}

@keyframes orIdeaCardFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-8px);
  }
}

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

/* Responsive */

@media(max-width:1199px){
  .or-idea-panel{
    grid-template-columns:1fr;
  }

  .or-idea-visual{
    min-height:430px;
  }

  .or-idea-bg-line{
    right:50%;
    transform:translate(50%,-50%);
  }
}

@media(max-width:767px){
  .or-idea-panel{
    padding:30px;
    border-radius:28px;
  }

  .or-idea-content h2{
    font-size:2rem;
  }

  .or-idea-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .or-idea-support{
    max-width:none;
  }

  .or-idea-visual{
    min-height:360px;
  }

  .or-idea-card{
    width:185px;
    padding:12px;
  }

  .or-idea-card-one{
    top:0;
    left:0;
  }

  .or-idea-card-two{
    top:20px;
    right:0;
  }

  .or-idea-card-three{
    bottom:28px;
    left:0;
  }

  .or-idea-card-four{
    bottom:4px;
    right:0;
  }
}

@media(max-width:575px){
  .or-idea-panel{
    padding:24px;
  }

  .or-idea-kicker{
    font-size:.66rem;
    letter-spacing:.06em;
  }

  .or-idea-visual{
    display:none;
  }
}
/* ==================================================
   PROCESO MINI HORIZONTAL - CAMINO MINIMALISTA
================================================== */

.or-mini-process-section{
  position:relative;
}

.or-mini-process{
  position:relative;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(124,58,237,.12);
  background:
    radial-gradient(circle at 12% 18%, rgba(196,181,253,.28), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(250,232,255,.70), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#fbf8ff 55%,#f5f0ff 100%);
  box-shadow:0 20px 54px rgba(76,29,149,.09);
}

.or-mini-process::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(124,58,237,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.045) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.40), transparent 82%);
  pointer-events:none;
}

.or-mini-process > *{
  position:relative;
}

.or-mini-process-head{
  max-width:760px;
  margin:0 auto 24px;
}

.or-mini-process-head span{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.74);
  color:#7c3aed;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.or-mini-process-head h2{
  margin:12px auto 8px;
  color:#20172f;
  font-size:clamp(1.55rem,2.4vw,2.25rem);
  line-height:1.16;
  letter-spacing:-.035em;
  font-weight:900;
}

.or-mini-process-head p{
  margin:0;
  color:#6f6684;
  font-size:.95rem;
  line-height:1.6;
}

/* Camino horizontal */

.or-mini-road{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  padding-top:42px;
}

.or-mini-road-line{
  position:absolute;
  left:8%;
  right:8%;
  top:16px;
  height:6px;
  border-radius:999px;
  background:#ede9fe;
  overflow:visible;
}

.or-mini-road-progress{
  position:absolute;
  left:0;
  top:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#a78bfa,#d946ef);
  animation:orMiniRoadProgress 10s ease-in-out infinite;
}

.or-mini-road-traveler{
  position:absolute;
  top:50%;
  left:0;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  transform:translate(-50%,-50%);
  color:#ffffff;
  background:linear-gradient(135deg,#7c3aed,#d946ef);
  box-shadow:
    0 0 0 7px rgba(124,58,237,.11),
    0 12px 24px rgba(124,58,237,.22);
  font-size:.78rem;
  animation:orMiniTraveler 10s ease-in-out infinite;
}

/* Pasos */

.or-mini-step{
  position:relative;
  display:grid;
  justify-items:center;
  gap:12px;
}

.or-mini-dot{
  position:absolute;
  top:-40px;
  z-index:3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:13px;
  border:1px solid rgba(124,58,237,.16);
  background:#ffffff;
  color:#7c3aed;
  font-size:.74rem;
  font-weight:900;
  box-shadow:0 10px 22px rgba(76,29,149,.08);
  animation:orMiniDotActive 10s ease-in-out infinite;
}

.or-mini-card{
  width:100%;
  min-height:132px;
  padding:18px 16px;
  border-radius:20px;
  border:1px solid rgba(124,58,237,.12);
  background:rgba(255,255,255,.84);
  box-shadow:0 10px 26px rgba(76,29,149,.06);
  text-align:center;
  animation:orMiniCardActive 10s ease-in-out infinite;
}

.or-mini-card i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin:0 auto 12px;
  border-radius:15px;
  color:#7c3aed;
  background:#ede9fe;
  font-size:1rem;
}

.or-mini-card h4{
  margin:0 0 7px;
  color:#20172f;
  font-size:.98rem;
  font-weight:900;
}

.or-mini-card p{
  margin:0 auto;
  color:#6f6684;
  font-size:.82rem;
  line-height:1.45;
  max-width:190px;
}

/* Delays */

.mini-step-1 .or-mini-dot,
.mini-step-1 .or-mini-card{
  animation-delay:0s;
}

.mini-step-2 .or-mini-dot,
.mini-step-2 .or-mini-card{
  animation-delay:2s;
}

.mini-step-3 .or-mini-dot,
.mini-step-3 .or-mini-card{
  animation-delay:4s;
}

.mini-step-4 .or-mini-dot,
.mini-step-4 .or-mini-card{
  animation-delay:6s;
}

.mini-step-5 .or-mini-dot,
.mini-step-5 .or-mini-card{
  animation-delay:8s;
}

/* Animaciones */

@keyframes orMiniTraveler{
  0%,8%{
    left:0%;
  }
  20%,28%{
    left:25%;
  }
  40%,48%{
    left:50%;
  }
  60%,68%{
    left:75%;
  }
  80%,88%{
    left:100%;
  }
  100%{
    left:0%;
  }
}

@keyframes orMiniRoadProgress{
  0%,8%{
    width:0%;
  }
  20%,28%{
    width:25%;
  }
  40%,48%{
    width:50%;
  }
  60%,68%{
    width:75%;
  }
  80%,88%{
    width:100%;
  }
  100%{
    width:0%;
  }
}

@keyframes orMiniDotActive{
  0%,100%{
    background:#ffffff;
    color:#7c3aed;
    transform:scale(1);
    box-shadow:0 10px 22px rgba(76,29,149,.08);
  }
  8%,18%{
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    color:#ffffff;
    transform:scale(1.08);
    box-shadow:0 16px 30px rgba(124,58,237,.18);
  }
}

@keyframes orMiniCardActive{
  0%,100%{
    transform:translateY(0);
    border-color:rgba(124,58,237,.12);
    background:rgba(255,255,255,.84);
    box-shadow:0 10px 26px rgba(76,29,149,.06);
  }
  8%,18%{
    transform:translateY(-5px);
    border-color:rgba(124,58,237,.28);
    background:#ffffff;
    box-shadow:0 18px 36px rgba(76,29,149,.12);
  }
}

/* Responsive */

@media(max-width:991px){
  .or-mini-road{
    overflow-x:auto;
    grid-template-columns:repeat(5,190px);
    padding-bottom:8px;
    scroll-snap-type:x mandatory;
  }

  .or-mini-step{
    scroll-snap-align:center;
  }

  .or-mini-road-line{
    left:95px;
    right:auto;
    width:calc(190px * 4 + 56px);
  }
}

@media(max-width:767px){
  .or-mini-process{
    padding:24px;
    border-radius:24px;
  }

  .or-mini-process-head h2{
    font-size:1.75rem;
  }

  .or-mini-road{
    grid-template-columns:repeat(5,170px);
    gap:12px;
  }

  .or-mini-road-line{
    left:85px;
    width:calc(170px * 4 + 48px);
  }

  .or-mini-card{
    min-height:126px;
    padding:16px 14px;
  }

  .or-mini-card p{
    font-size:.8rem;
  }
}

@media(max-width:575px){
  .or-mini-process{
    padding:22px;
  }

  .or-mini-process-head{
    margin-bottom:20px;
  }

  .or-mini-process-head h2{
    font-size:1.6rem;
  }
}
/* ==================================================
   SOLUCIONES MINI - MINIMALISTA
================================================== */

.or-solutions-mini-section{
  padding-bottom:56px;
}

.or-solutions-mini{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:28px;
  align-items:center;
  padding:30px;
  border-radius:28px;
  border:1px solid rgba(124,58,237,.13);
  background:
    radial-gradient(circle at 12% 18%, rgba(196,181,253,.30), transparent 28%),
    radial-gradient(circle at 88% 16%, rgba(250,232,255,.70), transparent 32%),
    linear-gradient(135deg,#ffffff 0%,#fbf8ff 55%,#f5f0ff 100%);
  box-shadow:0 20px 54px rgba(76,29,149,.09);
}

.or-solutions-mini::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(124,58,237,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124,58,237,.045) 1px, transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.38), transparent 84%);
  pointer-events:none;
}

.or-solutions-mini > *{
  position:relative;
}

.or-solutions-mini-copy{
  max-width:720px;
}

.or-solutions-kicker{
  display:inline-flex;
  align-items:center;
  margin-bottom:12px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.76);
  color:#7c3aed;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.or-solutions-mini h2{
  max-width:640px;
  margin:0;
  color:#20172f;
  font-size:clamp(1.7rem,2.6vw,2.35rem);
  line-height:1.14;
  letter-spacing:-.035em;
  font-weight:900;
}

.or-solutions-mini p{
  max-width:620px;
  margin:14px 0 0;
  color:#6f6684;
  font-size:.96rem;
  line-height:1.65;
}

.or-solutions-checks{
  display:grid;
  gap:9px;
  margin-top:20px;
}

.or-solutions-checks span{
  display:flex;
  align-items:flex-start;
  gap:9px;
  color:#352b48;
  font-size:.9rem;
  font-weight:750;
  line-height:1.45;
}

.or-solutions-checks i{
  color:#7c3aed;
  margin-top:3px;
}

/* Panel derecho compacto */

.or-solutions-mini-panel{
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(124,58,237,.14);
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 42px rgba(76,29,149,.10);
  backdrop-filter:blur(12px);
  animation:orSolutionsFloat 6s ease-in-out infinite;
}

.or-mini-panel-top{
  height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  border-bottom:1px solid rgba(124,58,237,.10);
  background:rgba(255,255,255,.72);
}

.or-mini-panel-top div{
  display:flex;
  gap:7px;
}

.or-mini-panel-top span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#c084fc;
}

.or-mini-panel-top span:nth-child(2){
  background:#a78bfa;
}

.or-mini-panel-top span:nth-child(3){
  background:#ddd6fe;
}

.or-mini-panel-top small{
  color:#7b7092;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.or-mini-panel-body{
  padding:16px;
  display:grid;
  gap:12px;
}

.or-mini-panel-hero{
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(124,58,237,.12);
  background:
    radial-gradient(circle at 88% 10%, rgba(196,181,253,.38), transparent 32%),
    linear-gradient(135deg,#ffffff,#f5f0ff);
}

.or-mini-panel-hero span{
  display:block;
  margin-bottom:7px;
  color:#7c3aed;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.or-mini-panel-hero strong{
  display:block;
  color:#20172f;
  font-size:1rem;
  line-height:1.25;
  font-weight:900;
}

.or-mini-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.or-mini-stats div,
.or-mini-progress{
  padding:13px;
  border-radius:16px;
  border:1px solid rgba(124,58,237,.12);
  background:#ffffff;
}

.or-mini-stats small{
  display:block;
  color:#8a819d;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:4px;
}

.or-mini-stats strong{
  color:#7c3aed;
  font-size:1.35rem;
  font-weight:900;
}

.or-mini-progress div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}

.or-mini-progress span{
  color:#20172f;
  font-size:.82rem;
  font-weight:850;
}

.or-mini-progress b{
  color:#7c3aed;
  font-size:.82rem;
  font-weight:900;
}

.or-mini-progress em{
  display:block;
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:#ede9fe;
}

.or-mini-progress i{
  display:block;
  width:84%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#a78bfa,#d946ef);
  animation:orSolutionsBar 2s ease-out both;
}

/* Animaciones */

@keyframes orSolutionsFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-7px);
  }
}

@keyframes orSolutionsBar{
  from{
    width:0;
  }
  to{
    width:84%;
  }
}

/* Responsive */

@media(max-width:991px){
  .or-solutions-mini{
    grid-template-columns:1fr;
  }

  .or-solutions-mini-panel{
    max-width:360px;
  }
}

@media(max-width:575px){
  .or-solutions-mini{
    padding:24px;
    border-radius:24px;
  }

  .or-solutions-mini h2{
    font-size:1.65rem;
  }

  .or-solutions-mini-panel{
    max-width:100%;
  }
}
/* ==================================================
   CONTACTO LIMPIO + ANIMACIÓN DE CORREO
================================================== */

.or-clean-contact-main{
  min-height:100vh;
  padding:130px 0 80px;
  background:
    radial-gradient(circle at 16% 18%, rgba(196,181,253,.32), transparent 30%),
    radial-gradient(circle at 86% 14%, rgba(250,232,255,.70), transparent 34%),
    linear-gradient(180deg,#fbf8ff 0%,#f4efff 58%,#fbf8ff 100%);
}

.or-clean-contact{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1fr);
  gap:42px;
  align-items:center;
  padding:34px;
  border-radius:32px;
  border:1px solid rgba(124,58,237,.12);
  background:rgba(255,255,255,.70);
  box-shadow:0 24px 70px rgba(76,29,149,.10);
  backdrop-filter:blur(14px);
}

.or-clean-copy{
  max-width:620px;
}

.or-clean-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.14);
  background:#ffffff;
  color:#7c3aed;
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.or-clean-copy h1{
  margin:0;
  color:#20172f;
  font-size:clamp(2rem,3.2vw,3rem);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:900;
}

.or-clean-copy p{
  max-width:560px;
  margin:18px 0 0;
  color:#6f6684;
  font-size:1rem;
  line-height:1.72;
}

/* Animación correo */

.or-clean-mail-animation{
  position:relative;
  max-width:480px;
  height:116px;
  margin-top:34px;
}

.or-clean-mail-line{
  position:absolute;
  left:44px;
  right:44px;
  top:50%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#ddd6fe,#a78bfa,#ddd6fe);
  transform:translateY(-50%);
}

.or-clean-mail-start,
.or-clean-mail-end{
  position:absolute;
  top:50%;
  z-index:2;
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.13);
  background:#ffffff;
  color:#20172f;
  font-size:.82rem;
  font-weight:850;
  box-shadow:0 12px 28px rgba(76,29,149,.08);
  transform:translateY(-50%);
}

.or-clean-mail-start{
  left:0;
}

.or-clean-mail-end{
  right:0;
}

.or-clean-mail-start i,
.or-clean-mail-end i{
  color:#7c3aed;
}

.or-clean-envelope{
  position:absolute;
  top:50%;
  left:64px;
  z-index:3;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#ffffff;
  background:linear-gradient(135deg,#7c3aed,#d946ef);
  box-shadow:
    0 0 0 7px rgba(124,58,237,.10),
    0 14px 28px rgba(124,58,237,.20);
  transform:translateY(-50%);
  animation:orCleanEnvelopeSend 4.8s ease-in-out infinite;
}

@keyframes orCleanEnvelopeSend{
  0%,12%{
    left:64px;
    transform:translateY(-50%) scale(1) rotate(0deg);
  }

  45%,58%{
    left:calc(100% - 106px);
    transform:translateY(-50%) scale(1.06) rotate(8deg);
  }

  72%,100%{
    left:64px;
    transform:translateY(-50%) scale(1) rotate(0deg);
  }
}

/* Info contacto */

.or-clean-contact-info{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.or-clean-contact-info a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.13);
  background:#ffffff;
  color:#352b48;
  font-size:.84rem;
  font-weight:850;
  transition:.2s ease;
}

.or-clean-contact-info a:hover{
  transform:translateY(-2px);
  color:#7c3aed;
  border-color:rgba(124,58,237,.28);
}

.or-clean-contact-info i{
  color:#7c3aed;
}

/* Formulario */

.or-clean-form-card{
  border-radius:28px;
  border:1px solid rgba(124,58,237,.13);
  background:#ffffff;
  box-shadow:0 20px 56px rgba(76,29,149,.10);
  overflow:hidden;
}

.or-clean-form{
  padding:26px;
}

.or-clean-form-head{
  margin-bottom:22px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(124,58,237,.10);
}

.or-clean-form-head span{
  display:block;
  color:#7c3aed;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:6px;
}

.or-clean-form-head strong{
  display:block;
  color:#20172f;
  font-size:1.2rem;
  line-height:1.25;
  font-weight:900;
}

.or-clean-form .form-label{
  color:#20172f;
  font-size:.82rem;
  font-weight:850;
  margin-bottom:7px;
}

.or-clean-form .form-control,
.or-clean-form .form-select{
  min-height:46px;
  border-radius:14px;
  border:1px solid rgba(124,58,237,.13);
  background:#ffffff;
  color:#20172f;
  font-size:.9rem;
  box-shadow:none;
}

.or-clean-form .form-control::placeholder{
  color:#9a90ad;
}

.or-clean-form textarea.form-control{
  resize:none;
}

.or-clean-form .form-control:focus,
.or-clean-form .form-select:focus{
  border-color:#a78bfa;
  box-shadow:0 0 0 .24rem rgba(124,58,237,.11);
}

.or-clean-alert{
  margin:22px 22px 0;
  border-radius:16px;
  border:0;
  font-size:.9rem;
  font-weight:750;
}

.or-clean-send-btn{
  min-height:50px;
}

/* Responsive */

@media(max-width:1199px){
  .or-clean-contact{
    grid-template-columns:1fr;
  }

  .or-clean-copy{
    max-width:760px;
  }
}

@media(max-width:767px){
  .or-clean-contact-main{
    padding:110px 0 64px;
  }

  .or-clean-contact{
    padding:24px;
    border-radius:26px;
  }

  .or-clean-copy h1{
    font-size:2rem;
  }

  .or-clean-mail-animation{
    display:none;
  }

  .or-clean-contact-info a{
    width:100%;
  }

  .or-clean-form{
    padding:20px;
  }
}
/* NAV CONSISTENTE EN CONTACTO */
.contact-page .or-navbar{
  background:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(124,58,237,.12);
  backdrop-filter:blur(18px);
  padding:10px 0;
}

.contact-page .brand-logo{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:50%;
}

.contact-page .brand-wrap{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.contact-page .brand-mini{
  font-family:'Orbitron',sans-serif;
  letter-spacing:.32em;
  font-size:.68rem;
  color:#7c3aed;
}

.contact-page .brand-text{
  font-family:'Orbitron',sans-serif;
  letter-spacing:.08em;
  font-size:1.08rem;
  font-weight:900;
  color:#211832;
}

.contact-page .or-navbar .nav-link{
  color:#2a213c!important;
  font-weight:800;
  font-size:.92rem;
}

.contact-page .or-navbar .nav-link:hover{
  color:#7c3aed!important;
}

.contact-page .btn-or-outline{
  border:1px solid rgba(124,58,237,.34);
  color:#7c3aed!important;
  background:rgba(124,58,237,.06);
}

.contact-page .btn-or-outline:hover{
  background:#7c3aed;
  color:#fff!important;
}
.or-clean-captcha-wrap {
  display: flex;
  justify-content: center;
  margin-top: 0.25rem;
}

@media (max-width: 390px) {
  .or-clean-captcha-wrap .g-recaptcha {
    transform: scale(0.9);
    transform-origin: center;
  }
}