/* ============================================================
   SIRIUS — High Contrast / Spatial / Editorial
   ------------------------------------------------------------
   Paleta principal: negro, blanco, grafito, marfil, azul nocturno.
   La palabra SIRIUS usa Antonio.
   ============================================================ */

:root{
  --black:#050506;
  --black-2:#0b0b0e;
  --graphite:#15151b;
  --white:#ffffff;
  --paper:#f6f6f3;
  --cream:#eeeae1;
  --silver:#d9d9df;
  --muted:#7b7b83;
  --line:rgba(0,0,0,.12);
  --line-light:rgba(255,255,255,.16);
  --accent:#8ea0ff;
  --accent-2:#c6ceff;
  --blue-dark:#0d1020;
  --blue-mid:#151a34;
  --shell:1240px;
  --radius-xl:44px;
  --radius-lg:30px;
  --radius-md:20px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--black);
  background:var(--white);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  font-synthesis:none;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
::selection{background:#111;color:#fff}
.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:12px;transform:translateY(-180%);padding:10px 14px;border-radius:999px;background:#fff;color:#000;z-index:9999}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:8px}

/* Cursor / background */
.cursor-glow{
  position:fixed;
  left:0;top:0;
  width:520px;height:520px;
  margin:-260px 0 0 -260px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  z-index:20;
  background:radial-gradient(circle,rgba(142,160,255,.14),rgba(142,160,255,.04) 35%,transparent 70%);
  mix-blend-mode:screen;
}
#starfield{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  opacity:.6;
}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:transparent}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#fff,var(--accent));box-shadow:0 0 12px rgba(142,160,255,.8)}

/* Preloader */
.preloader{
  position:fixed;
  inset:0;
  z-index:9998;
  background:#050506;
  display:grid;
  place-items:center;
  transition:opacity .8s var(--ease),visibility .8s;
}
.preloader.done{opacity:0;visibility:hidden}
.preloader-stage{text-align:center}
.preloader-logo-mark{
  width:108px;aspect-ratio:1;
  margin:0 auto 24px;
  display:grid;place-items:center;
  filter:drop-shadow(0 24px 60px rgba(142,160,255,.28));
  animation:preFloat 2.1s ease-in-out infinite alternate;
}
.preloader-logo-mark img{width:100%;height:100%;object-fit:contain;filter:invert(1)}
@keyframes preFloat{to{transform:translateY(-10px) rotate(2deg)}}
.preloader-word{
  font-family:Antonio,sans-serif;
  color:white;
  font-size:58px;
  letter-spacing:.16em;
  line-height:1;
}
.preloader-bar{
  width:220px;height:2px;
  margin:24px auto 0;
  background:rgba(255,255,255,.14);
  overflow:hidden;
}
.preloader-bar span{
  display:block;width:40%;height:100%;
  background:white;
  animation:loadline 1.3s ease-in-out infinite;
}
@keyframes loadline{0%{transform:translateX(-120%)}100%{transform:translateX(350%)}}

/* Header */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:200;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(5,5,6,.58);
  backdrop-filter:saturate(160%) blur(22px);
  -webkit-backdrop-filter:saturate(160%) blur(22px);
  color:white;
  transition:background .35s ease,border-color .35s ease;
}
.site-header.scrolled{background:rgba(5,5,6,.86);border-color:rgba(255,255,255,.12)}
.nav{height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;font-weight:800}
.brand-logo{
  width:28px;height:28px;
  display:grid;place-items:center;
  filter:drop-shadow(0 4px 12px rgba(255,255,255,.08));
}
.brand-logo.small{width:25px;height:25px}
.brand-logo img{width:100%;height:100%;object-fit:contain;filter:invert(1)}
.brand-word{
  font-family:Antonio,sans-serif;
  font-size:27px;
  letter-spacing:.08em;
  line-height:1;
}
.nav-links{display:flex;align-items:center;gap:28px;font-size:13px}
.nav-links>a:not(.nav-cta){opacity:.78;transition:opacity .2s}
.nav-links>a:not(.nav-cta):hover{opacity:1}
.nav-cta{padding:10px 16px;border-radius:999px;background:white;color:#050506;font-weight:700}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px}
.menu-toggle i{display:block;width:22px;height:1.5px;background:white;margin:5px auto}

/* Helpers */
.section-dark{color:white;background:var(--black)}
.section-light{background:white}
.section-kicker,.eyebrow{
  font-size:11px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.19em;
  color:#696970;
}
.section-kicker.light,.eyebrow.light{color:rgba(255,255,255,.56)}
.spotlight-section{position:relative;isolation:isolate}
.spotlight-section::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:0;
  background:radial-gradient(650px circle at var(--mx,50%) var(--my,50%),rgba(142,160,255,.12),transparent 48%);
  transition:opacity .35s;
}
.spotlight-section:hover::after{opacity:1}

/* Hero */
.hero-stage{
  min-height:100svh;
  padding:118px 0 34px;
  position:relative;
  overflow:hidden;
}
.hero-mesh{
  position:absolute;
  inset:-15%;
  background:
    radial-gradient(circle at 16% 20%,rgba(142,160,255,.18),transparent 25%),
    radial-gradient(circle at 80% 42%,rgba(255,255,255,.09),transparent 24%),
    radial-gradient(circle at 56% 100%,rgba(71,85,180,.18),transparent 32%);
  filter:blur(4px);
  animation:meshShift 12s ease-in-out infinite alternate;
}
@keyframes meshShift{to{transform:translate3d(2%,-2%,0) scale(1.05)}}
.hero-grid-lines{
  position:absolute;
  inset:44% -15% -35%;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:62px 62px;
  transform:perspective(500px) rotateX(64deg) scale(1.4);
  transform-origin:center top;
  opacity:.55;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 70%,transparent);
}
.hero-shell{position:relative;z-index:2;min-height:calc(100svh - 152px);display:flex;flex-direction:column}
.hero-top{display:flex;justify-content:space-between;gap:28px;align-items:flex-start}
.hero-side-note{margin:0;text-align:right;color:rgba(255,255,255,.46);font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em}
.hero-grid{
  display:grid;
  grid-template-columns:1.38fr .62fr;
  gap:60px;
  align-items:center;
  flex:1;
  padding:40px 0 28px;
}
.wordmark{
  display:flex;
  gap:.015em;
  margin:0;
  color:white;
  font-family:Antonio,sans-serif;
  font-size:clamp(110px,18vw,258px);
  line-height:.72;
  letter-spacing:-.045em;
  font-weight:700;
}
.wordmark span{opacity:0;transform:translateY(70px) rotateX(55deg);transform-origin:bottom}
.hero-lead{
  max-width:640px;
  margin:34px 0 0;
  color:rgba(255,255,255,.74);
  font-size:clamp(20px,2.15vw,34px);
  line-height:1.14;
  letter-spacing:-.028em;
  font-weight:500;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{
  display:inline-flex;
  min-height:52px;
  padding:0 20px;
  gap:16px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  transition:transform .3s var(--ease),background .2s,color .2s;
}
.button b{font-size:18px}
.button-light{background:white;color:#050506}
.button-glass{color:white;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);backdrop-filter:blur(14px)}
.button:hover{transform:translateY(-3px)}
.hero-object-wrap{display:grid;place-items:center;perspective:1200px}
.hero-object{position:relative;width:min(420px,34vw);aspect-ratio:1;display:grid;place-items:center;transform-style:preserve-3d}
.star-sculpture{
  position:relative;
  width:72%;aspect-ratio:1;
  transform-style:preserve-3d;
  transform:translateZ(54px) rotate(-5deg);
  animation:logoFloat 5.5s ease-in-out infinite alternate;
}
.star-depth{
  position:absolute;inset:0;
  -webkit-mask:url("../assets/sirius-star-transparent.png") center/contain no-repeat;
  mask:url("../assets/sirius-star-transparent.png") center/contain no-repeat;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.32));
}
.star-depth-back{
  transform:translate(16px,20px) translateZ(-34px);
  background:linear-gradient(145deg,#252935,#090a0f);
  opacity:.95;
}
.star-depth-mid{
  transform:translate(8px,10px) translateZ(-15px);
  background:linear-gradient(145deg,#7d8397,#242735 68%,#0e0f15);
}
.star-depth-front{
  transform:translateZ(18px);
  background:linear-gradient(135deg,#ffffff 0%,#f0f1f7 28%,#adb2c6 58%,#ffffff 82%,#8e95ac 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.star-depth-front::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.9) 42%,transparent 62%);
  -webkit-mask:url("../assets/sirius-star-transparent.png") center/contain no-repeat;
  mask:url("../assets/sirius-star-transparent.png") center/contain no-repeat;
  transform:translateX(-120%);
  animation:starShine 4.8s ease-in-out infinite;
}
@keyframes starShine{0%,58%{transform:translateX(-120%)}78%,100%{transform:translateX(120%)}}
.logo-shadow{
  position:absolute;
  width:60%;height:18%;
  bottom:8%;
  border-radius:50%;
  background:rgba(0,0,0,.62);
  filter:blur(25px);
  transform:rotateX(70deg) translateZ(-40px);
}
.halo{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}
.halo-a{width:96%;height:96%;animation:haloSpin 18s linear infinite}
.halo-b{width:116%;height:116%;border-style:dashed;opacity:.38;animation:haloSpin 28s linear infinite reverse}
@keyframes haloSpin{to{transform:rotate(360deg)}}
@keyframes logoFloat{to{transform:translate3d(0,-14px,68px) rotate(4deg)}}
.hero-meta{
  display:flex;justify-content:space-between;gap:20px;
  padding-top:26px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.42);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.15em;
}
.hero-scroll-hint{
  position:absolute;right:22px;bottom:30px;
  display:flex;align-items:center;gap:10px;
  color:rgba(255,255,255,.38);
  font-size:10px;text-transform:uppercase;letter-spacing:.16em;
  transform:rotate(90deg) translateX(36px);
  transform-origin:right center;
}
.hero-scroll-hint i{display:block;width:42px;height:1px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.hero-scroll-hint i::after{content:"";position:absolute;inset:0;background:white;animation:scrollLine 1.7s ease-in-out infinite}
@keyframes scrollLine{0%{transform:translateX(-110%)}100%{transform:translateX(110%)}}

/* Marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}
.marquee-white{background:white;color:#050506}
.marquee-track{
  display:flex;align-items:center;gap:24px;
  width:max-content;
  padding:18px 0;
  font-family:Antonio,sans-serif;
  font-size:22px;
  letter-spacing:.08em;
  animation:marquee 25s linear infinite;
}
.marquee-track b{font-size:13px;color:var(--accent)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Manifesto */
.manifesto{
  position:relative;
  overflow:hidden;
  padding:clamp(110px,14vw,210px) 0;
}
.manifesto-grid{display:grid;grid-template-columns:220px 1fr;gap:54px;align-items:start}
.manifesto-title{
  margin:0;
  max-width:1000px;
  font-size:clamp(58px,8.5vw,132px);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:650;
}
.manifesto-accent{margin-top:22px;color:#b7b7bc}
.manifesto-orb{
  position:absolute;
  width:580px;height:580px;
  right:-210px;bottom:-290px;
  border-radius:50%;
  background:radial-gradient(circle at 32% 26%,#fff,#e8e8ec 36%,#b9bbc8 70%,#70768e);
  filter:blur(.1px);
  box-shadow:0 30px 100px rgba(0,0,0,.12);
  animation:orbFloat 8s ease-in-out infinite alternate;
}
@keyframes orbFloat{to{transform:translate(-20px,-22px) rotate(8deg)}}

/* Team */
.team-section{
  background:
    radial-gradient(circle at 100% 0%,rgba(142,160,255,.10),transparent 25%),
    var(--paper);
}
.section{padding:clamp(100px,12vw,180px) 0}
.section-head{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:70px;
  align-items:end;
  margin:24px 0 64px;
}
.section-head h2,.feature-copy h2,.contact h2,.ecosystem-copy h2{
  margin:0;
  font-size:clamp(52px,7vw,100px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:680;
}
.section-head h2 span,.feature-copy h2 span{color:#a7a7ad}
.section-head p,.feature-copy>p,.ecosystem-copy>p,.contact-actions>p{
  margin:0;
  color:var(--muted);
  font-size:clamp(17px,1.8vw,23px);
  line-height:1.42;
}
.team-bento{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:18px;
}
.team-card{
  min-height:410px;
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-xl);
  padding:28px;
  display:grid;
  grid-template-columns:190px 1fr;
  gap:28px;
  transform-style:preserve-3d;
  box-shadow:0 14px 44px rgba(0,0,0,.06);
}
.team-card-dark{background:#0a0a0c;color:white}
.team-card-light{background:#fff}
.team-card-featured{
  grid-column:span 1;
  color:white;
  background:
    radial-gradient(circle at 18% 12%,rgba(142,160,255,.35),transparent 28%),
    linear-gradient(135deg,#151829,#060608 70%);
}
.team-card-cream{background:var(--cream)}
.portrait-placeholder{
  min-height:330px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#dadadd,#bfc0c5);
  color:#777;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.16em;
  overflow:hidden;
  transform:translateZ(28px);
}
.portrait-alt{background:linear-gradient(145deg,#fff,#e7e7eb)}
.portrait-warm{background:linear-gradient(145deg,#f8f4ea,#d6cdbf)}
.team-info{align-self:end;transform:translateZ(34px)}
.team-index{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#8b8b92}
.team-card-dark .team-index,.team-card-featured .team-index{color:rgba(255,255,255,.46)}
.team-card h3{
  margin:12px 0 10px;
  font-size:clamp(28px,3.1vw,47px);
  line-height:.98;
  letter-spacing:-.04em;
}
.team-card p{line-height:1.5}
.team-card-dark .muted,.team-card-featured .muted{color:rgba(255,255,255,.52)}
.placeholder-copy{color:#96969d}
.featured-star{display:grid;place-items:center;transform:translateZ(36px)}
.featured-logo-frame{
  width:190px;aspect-ratio:1;
  padding:10px;background:#0c0d12;border:1px solid rgba(255,255,255,.12);border-radius:34px;
  transform:rotate(-8deg);
  box-shadow:0 30px 70px rgba(0,0,0,.35),0 0 70px rgba(142,160,255,.15);
  animation:featuredFloat 4.7s ease-in-out infinite alternate;
}
.featured-logo-frame img{width:76%;height:76%;object-fit:contain;filter:invert(1)}
@keyframes featuredFloat{to{transform:rotate(6deg) translateY(-10px)}}

/* Services */
.services-section{position:relative;overflow:hidden}
.services-glow{
  position:absolute;
  width:800px;height:800px;
  left:-250px;top:-300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(142,160,255,.22),transparent 66%);
  filter:blur(20px);
}
.dark-head h2 span{color:rgba(255,255,255,.35)}
.dark-head p{color:rgba(255,255,255,.48)}
.service-stack{display:flex;flex-direction:column;gap:14px}
.service-panel{
  position:relative;
  display:grid;
  grid-template-columns:70px 1fr auto 60px;
  gap:20px;
  align-items:center;
  padding:26px 28px;
  min-height:120px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  backdrop-filter:blur(16px);
  overflow:hidden;
  transition:transform .4s var(--ease),border-color .3s,background .3s;
}
.service-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(142,160,255,.12),transparent);
  transform:translateX(-110%);
  transition:transform .8s var(--ease);
}
.service-panel:hover{transform:translateX(10px);border-color:rgba(255,255,255,.28);background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025))}
.service-panel:hover::before{transform:translateX(110%)}
.service-index{font-family:Antonio,sans-serif;font-size:31px;color:rgba(255,255,255,.3)}
.service-copy h3{margin:0;font-size:clamp(25px,3vw,43px);letter-spacing:-.035em}
.service-copy p{margin:6px 0 0;color:rgba(255,255,255,.48)}
.service-pill{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:11px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.1em}
.service-panel i{font-style:normal;font-size:28px;text-align:right}

/* Differentiator */
.differentiator-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#f8f8fa,#e9e9ee);
}
.metal-orb{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle at 30% 25%,#fff 0,#ececf2 22%,#aeb0bc 52%,#4e5365 82%,#181a22 100%);
  box-shadow:inset -18px -24px 40px rgba(0,0,0,.2),0 42px 110px rgba(0,0,0,.14);
}
.metal-orb-a{width:360px;height:360px;right:-100px;top:40px;animation:metalFloat 8s ease-in-out infinite alternate}
.metal-orb-b{width:160px;height:160px;left:4%;bottom:8%;filter:blur(.2px);animation:metalFloat 6s ease-in-out infinite alternate-reverse}
@keyframes metalFloat{to{transform:translateY(-25px) rotate(9deg)}}
.feature-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:90px;align-items:start}
.feature-copy{position:sticky;top:120px}
.feature-copy .section-kicker{margin-bottom:22px}
.feature-copy>p{margin-top:30px;max-width:660px}
.feature-stack{display:grid;gap:16px}
.feature-card{
  min-height:205px;
  padding:26px;
  border-radius:30px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 20px 60px rgba(45,48,64,.08),inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(22px);
  transition:transform .45s var(--ease),box-shadow .45s;
}
.feature-card:nth-child(2){transform:translateX(28px)}
.feature-card:nth-child(3){transform:translateX(56px)}
.feature-card:nth-child(4){transform:translateX(84px)}
.feature-card:hover{transform:translateX(0) translateY(-8px)!important;box-shadow:0 32px 80px rgba(45,48,64,.16)}
.feature-card span{font-family:Antonio,sans-serif;color:#8d8f99;font-size:22px}
.feature-card h3{margin:28px 0 8px;font-size:30px;letter-spacing:-.035em}
.feature-card p{margin:0;color:#777983;line-height:1.5}

/* Ecosystem */
.ecosystem-section{
  position:relative;
  color:white;
  background:
    radial-gradient(circle at 68% 48%,rgba(121,137,255,.26),transparent 32%),
    radial-gradient(circle at 10% 10%,rgba(93,103,190,.16),transparent 28%),
    linear-gradient(180deg,var(--blue-mid),#080a12 74%);
  overflow:hidden;
}
.ecosystem-section::before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at 65% 50%,#000,transparent 72%);
}
.ecosystem-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center;position:relative;z-index:2}
.ecosystem-copy h2{margin-top:26px}
.ecosystem-copy>p{margin-top:24px;color:rgba(255,255,255,.55);max-width:500px}
.ecosystem-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.ecosystem-legend span{padding:8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);font-size:11px}
.ecosystem-stage{position:relative;width:min(760px,100%);aspect-ratio:1;margin:auto;transform-style:preserve-3d}
.orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.17);border-radius:50%;box-shadow:0 0 40px rgba(142,160,255,.04)}
.orbit-1{width:42%;aspect-ratio:1;animation:orbitPulse 4s ease-in-out infinite alternate}
.orbit-2{width:68%;aspect-ratio:1;animation:orbitPulse 5.5s ease-in-out infinite alternate-reverse}
.orbit-3{width:94%;aspect-ratio:1;animation:orbitPulse 7s ease-in-out infinite alternate}
@keyframes orbitPulse{to{transform:translate(-50%,-50%) scale(1.025);opacity:.72}}
.ecosystem-center{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%) translateZ(50px);
  width:175px;aspect-ratio:1;
  border-radius:50%;
  display:grid;place-items:center;align-content:center;gap:9px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 30px 100px rgba(0,0,0,.38),0 0 80px rgba(142,160,255,.18);
  backdrop-filter:blur(22px);
  z-index:4;
}
.ecosystem-logo-card{width:72px;aspect-ratio:1;display:grid;place-items:center}
.ecosystem-logo-card img{width:100%;height:100%;object-fit:contain;filter:invert(1) drop-shadow(0 0 20px rgba(255,255,255,.2))}
.ecosystem-center>span{font-size:13px;font-weight:700}
.ecosystem-node{
  position:absolute;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(8,10,18,.64);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 15px 46px rgba(0,0,0,.25);
  backdrop-filter:blur(15px);
  font-size:13px;font-weight:600;color:rgba(255,255,255,.8);
}
.node-web{top:8%;left:44%}.node-instagram{top:31%;right:0}.node-whatsapp{bottom:16%;right:8%}.node-ads{bottom:10%;left:19%}.node-sales{top:32%;left:-2%}
.orbit-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px rgba(142,160,255,.8)}
.orbit-dot-a{left:50%;top:3%;animation:dotFloat 3s ease-in-out infinite alternate}
.orbit-dot-b{right:9%;top:50%;animation:dotFloat 4s ease-in-out infinite alternate-reverse}
.orbit-dot-c{left:14%;bottom:18%;animation:dotFloat 5s ease-in-out infinite alternate}
@keyframes dotFloat{to{transform:translateY(-10px) scale(1.25)}}

/* Cases */
.cases-section{background:white}
.case-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:18px}
.case-card{
  min-height:560px;
  border-radius:var(--radius-xl);
  overflow:hidden;
  transform-style:preserve-3d;
  box-shadow:0 20px 60px rgba(0,0,0,.07);
  transition:box-shadow .4s var(--ease);
}
.case-card:hover{box-shadow:0 36px 90px rgba(0,0,0,.13)}
.case-a{background:#09090b;color:white}
.case-b{background:#efeff2}
.case-c{background:var(--cream)}
.case-visual{
  height:68%;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.case-visual>span{position:absolute;left:22px;top:22px;font-family:Antonio,sans-serif;font-size:24px;opacity:.45}
.case-a .case-visual{
  background:
    radial-gradient(circle at center,rgba(142,160,255,.25),transparent 35%),
    linear-gradient(145deg,#0d1020,#050506);
}
.case-visual-star{width:190px;aspect-ratio:1;display:grid;place-items:center;transform:rotate(-7deg);filter:drop-shadow(0 32px 42px rgba(0,0,0,.55));animation:caseFloat 5s ease-in-out infinite alternate}
.case-visual-star img{width:100%;height:100%;object-fit:contain;filter:invert(1)}
@keyframes caseFloat{to{transform:rotate(6deg) translateY(-14px)}}
.case-placeholder{color:#85858c;font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.case-body{padding:24px}
.case-body>span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;opacity:.5}
.case-body h3{margin:10px 0 8px;font-size:30px;letter-spacing:-.04em}
.case-body p{margin:0;color:#77777e;line-height:1.5}
.case-a .case-body p{color:rgba(255,255,255,.5)}

/* Testimonials */
.testimonials-section{background:var(--cream)}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
blockquote{
  margin:0;
  font-size:clamp(34px,4.5vw,66px);
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:560;
}
blockquote footer{margin-top:28px;color:#77766f;font-size:13px;letter-spacing:0}

/* Contact */
.contact{position:relative;padding:clamp(110px,14vw,190px) 0;overflow:hidden}
.contact-rings{
  position:absolute;
  width:900px;aspect-ratio:1;
  right:-340px;top:50%;transform:translateY(-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.11);
  box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018),0 0 0 240px rgba(255,255,255,.012);
}
.contact-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.15fr .65fr;gap:90px;align-items:end}
.contact h2{margin-top:28px}
.contact h2 span{color:var(--accent-2);text-shadow:0 0 48px rgba(142,160,255,.2)}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.contact-actions>p{color:rgba(255,255,255,.52)}
.contact-actions small{color:rgba(255,255,255,.34)}
.contact-logo-art{position:absolute;right:5%;top:20%;z-index:1;opacity:.16;transform:rotate(10deg)}
.contact-logo-card{width:260px;aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 70px rgba(142,160,255,.3))}
.contact-logo-card img{width:100%;height:100%;object-fit:contain;filter:invert(1)}

/* Footer */
.footer{background:white;border-top:1px solid var(--line)}
.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#797980;font-size:12px}
.footer .brand-word{color:#0a0a0c}

/* Animation classes */
.reveal{opacity:0;transform:translateY(32px) scale(.985);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.split-reveal{opacity:0;transform:translateY(46px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.split-reveal.visible{opacity:1;transform:none}
.magnetic,[data-tilt]{will-change:transform}

/* Responsive */
@media(max-width:1020px){
  .shell{width:min(calc(100% - 32px),var(--shell))}
  .menu-toggle{display:block}
  .nav-links{
    position:fixed;top:68px;left:0;right:0;height:calc(100dvh - 68px);
    padding:30px 18px;
    background:rgba(5,5,6,.97);
    backdrop-filter:blur(22px);
    flex-direction:column;align-items:stretch;gap:0;
    opacity:0;pointer-events:none;transform:translateY(-10px);transition:.22s;
  }
  .nav-links.open{opacity:1;pointer-events:auto;transform:none}
  .nav-links a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:24px}
  .nav-cta{text-align:center;margin-top:18px;border:0!important}
  .hero-grid,.section-head,.feature-grid,.ecosystem-layout,.contact-grid{grid-template-columns:1fr}
  .hero-object-wrap{order:-1;margin-top:20px}
  .hero-object{width:min(390px,72vw)}
  .manifesto-grid{grid-template-columns:1fr}
  .team-bento{grid-template-columns:1fr}
  .team-card{grid-template-columns:160px 1fr}
  .feature-copy{position:relative;top:auto}
  .feature-card:nth-child(n){transform:none}
  .service-panel{grid-template-columns:52px 1fr 46px}
  .service-pill{display:none}
  .service-panel i{grid-column:3;grid-row:1/span 2}
  .case-grid{grid-template-columns:1fr}
  .case-card{min-height:480px}
  .testimonial-grid{grid-template-columns:1fr}
  .ecosystem-copy{text-align:center}
  .ecosystem-copy>p{margin:22px auto 0}
  .ecosystem-legend{justify-content:center}
}
@media(max-width:640px){
  .hero-stage{padding-top:100px}
  .hero-top{flex-direction:column}
  .hero-side-note{text-align:left}
  .wordmark{font-size:clamp(88px,29vw,150px)}
  .hero-meta{flex-direction:column;gap:7px}
  .team-card{grid-template-columns:1fr}
  .portrait-placeholder{min-height:320px}
  .service-panel{padding:22px 18px;gap:12px}
  .ecosystem-stage{aspect-ratio:4/5}
  .ecosystem-center{width:124px}
  .orbit-1{width:50%}.orbit-2{width:74%}.orbit-3{width:98%}
  .node-instagram{right:-5%}.node-sales{left:-7%}
  .contact-logo-art{right:-100px;top:26%}
  .contact-logo-card{width:220px}
  .footer-inner{padding:28px 0;align-items:flex-start;flex-direction:column}
  .cursor-glow{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .preloader{display:none}
  .reveal,.split-reveal,.wordmark span{opacity:1!important;transform:none!important}
  *{animation:none!important;transition:none!important}
  #starfield,.cursor-glow{display:none}
}

.footer .brand-logo img{filter:none}


/* ===== SIRIUS · actualización equipo + propuesta de valor ===== */

.hero-offer{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
  max-width:850px;
}

.hero-offer span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:12px;
  letter-spacing:.01em;
}

.hero-offer b{
  font-family:Antonio,sans-serif;
  font-size:15px;
  font-weight:600;
  color:rgba(255,255,255,.38);
}

.portrait-photo{
  padding:0;
  overflow:hidden;
  background:#ddd;
}

.portrait-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:inherit;
  transition:transform .8s cubic-bezier(.22,1,.36,1);
}

.team-card:hover .portrait-photo img{
  transform:scale(1.035);
}

.team-card-featured .portrait-photo{
  min-height:330px;
  box-shadow:0 20px 60px rgba(0,0,0,.26);
}

.team-card-featured .portrait-photo img{
  object-position:center 28%;
}

.team-card-dark .portrait-photo img{
  object-position:center 28%;
}

.team-card-light .portrait-photo img{
  object-position:center 22%;
}

.team-card-cream .portrait-photo img{
  object-position:center 28%;
}

@media(max-width:640px){
  .hero-offer{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .hero-offer span{
    width:100%;
  }
}


/* ===== Ajuste hero SIRIUS v3 ===== */

.hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:clamp(42px,6vw,92px);
}

.wordmark{
  font-size:clamp(96px,15vw,220px);
  line-height:.76;
}

.hero-lead{
  max-width:720px;
  margin-top:34px;
  font-size:clamp(19px,2.15vw,32px);
  line-height:1.16;
  letter-spacing:-.025em;
  color:rgba(255,255,255,.78);
}

.hero-offer{
  margin-top:22px;
  gap:8px;
  max-width:760px;
}

.hero-offer span{
  min-height:38px;
  padding:0 13px;
  font-size:11.5px;
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.12);
}

.hero-actions{
  margin-top:28px;
}

.hero-object-wrap{
  min-height:520px;
  display:grid;
  place-items:center;
}

.hero-object{
  width:min(470px,36vw);
  min-width:350px;
}

.logo-symbol-3d{
  position:relative;
  z-index:4;
  width:72%;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  transform:translateZ(72px) rotate(-4deg);
  animation:logoFloat 5.5s ease-in-out infinite alternate;
  filter:drop-shadow(0 34px 38px rgba(0,0,0,.45))
         drop-shadow(0 0 34px rgba(142,160,255,.15));
}

.logo-symbol-3d::before{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.15),rgba(142,160,255,.08) 36%,transparent 68%);
  filter:blur(12px);
  z-index:-1;
}

.logo-symbol-3d img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

@media(max-width:1020px){
  .hero-grid{
    grid-template-columns:1fr;
    gap:20px;
  }

  .hero-object-wrap{
    order:0;
    min-height:330px;
  }

  .hero-object{
    width:min(340px,72vw);
    min-width:0;
  }

  .hero-copy{
    order:1;
  }

  .hero-lead{
    max-width:680px;
    font-size:clamp(18px,3.4vw,28px);
  }
}

@media(max-width:640px){
  .wordmark{
    font-size:clamp(82px,27vw,138px);
  }

  .hero-lead{
    margin-top:26px;
    font-size:18px;
    line-height:1.22;
  }

  .hero-object-wrap{
    min-height:260px;
  }

  .hero-object{
    width:min(270px,72vw);
  }
}


/* ===== SIRIUS v4 · refinamiento visual + interacción ===== */

/* Header: el símbolo siempre blanco en fondo oscuro */
.site-header .brand-logo-header{
  background:transparent;
  padding:0;
  box-shadow:none;
  overflow:visible;
}
.site-header .brand-logo-header img{
  filter:brightness(0) invert(1);
  width:100%;
  height:100%;
  object-fit:contain;
}

/* Hero: más aire entre wordmark y explicación */
.hero-lead{
  max-width:650px;
  margin-top:48px !important;
  font-size:clamp(17px,1.75vw,27px) !important;
  line-height:1.28 !important;
  letter-spacing:-.018em !important;
  font-weight:470 !important;
  color:rgba(255,255,255,.68) !important;
}

.hero-offer{
  margin-top:28px !important;
}

.wordmark{
  margin-bottom:0;
}

/* Equipo: proporciones naturales y consistentes, sin caras deformadas */
.team-card{
  grid-template-columns:minmax(210px,260px) 1fr !important;
  align-items:center;
  min-height:390px !important;
}

.portrait-placeholder.portrait-photo{
  width:100%;
  min-height:0 !important;
  aspect-ratio:4 / 5;
  align-self:center;
  border-radius:28px;
  background:#ececec;
  overflow:hidden;
}

.portrait-placeholder.portrait-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:none;
  border-radius:inherit;
}

.team-card:hover .portrait-photo img{
  transform:scale(1.02);
}

/* Ajustes por retrato */
.team-card-dark .portrait-photo img{object-position:center 20%;}
.team-card-light .portrait-photo img{object-position:center 18%;}
.team-card-featured .portrait-photo img{object-position:center 22%;}
.team-card-cream .portrait-photo img{object-position:center 18%;}

/* Qué ofrecemos: acordeón */
.service-panel.service-accordion{
  display:block;
  padding:0;
  min-height:0;
  overflow:hidden;
  transition:
    transform .45s var(--ease),
    border-color .3s ease,
    background .3s ease,
    box-shadow .4s var(--ease);
}

.service-panel.service-accordion:hover{
  transform:translateX(8px);
}

.service-trigger{
  width:100%;
  min-height:118px;
  display:grid;
  grid-template-columns:70px 1fr auto 52px;
  gap:20px;
  align-items:center;
  padding:26px 28px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}

.service-trigger .service-copy h3{
  margin:0;
  font-size:clamp(25px,3vw,43px);
  letter-spacing:-.035em;
}

.service-trigger .service-copy p{
  margin:7px 0 0;
  color:rgba(255,255,255,.48);
}

.service-toggle-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.17);
  font-style:normal;
  font-size:24px;
  font-weight:300;
  transition:transform .45s var(--ease),background .25s ease,color .25s ease;
}

.service-accordion.open{
  background:linear-gradient(135deg,rgba(142,160,255,.13),rgba(255,255,255,.025));
  border-color:rgba(142,160,255,.38);
  box-shadow:0 25px 70px rgba(0,0,0,.22);
}

.service-accordion.open .service-toggle-icon{
  transform:rotate(45deg);
  background:#fff;
  color:#060608;
}

.service-details{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .55s var(--ease),opacity .4s ease;
  opacity:.2;
}

.service-accordion.open .service-details{
  grid-template-rows:1fr;
  opacity:1;
}

.service-details-inner{
  overflow:hidden;
  padding:0 28px;
}

.service-accordion.open .service-details-inner{
  padding-bottom:30px;
}

.service-details-inner{
  margin-left:90px;
  max-width:790px;
  color:rgba(255,255,255,.68);
  line-height:1.6;
}

.service-details-inner p{
  margin:0 0 18px;
  font-size:16px;
}

.service-details-inner ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
}

.service-details-inner li{
  position:relative;
  padding-left:20px;
  color:rgba(255,255,255,.5);
}

.service-details-inner li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 14px rgba(142,160,255,.55);
}

/* Scroll motion: elementos entran con más personalidad */
.reveal{
  transform:translateY(44px) scale(.97);
  filter:blur(7px);
  transition:
    opacity .95s var(--ease),
    transform .95s var(--ease),
    filter .85s var(--ease);
}
.reveal.visible{
  transform:none;
  filter:blur(0);
}

/* Barras y tarjetas con desplazamiento alterno */
.team-card:nth-child(odd).reveal{transform:translateX(-46px) translateY(28px) scale(.98);}
.team-card:nth-child(even).reveal{transform:translateX(46px) translateY(28px) scale(.98);}
.team-card.reveal.visible{transform:none;}

.service-panel.reveal:nth-child(odd){transform:translateX(-34px);}
.service-panel.reveal:nth-child(even){transform:translateX(34px);}
.service-panel.reveal.visible{transform:none;}

/* Scroll-linked appearance (progressive enhancement) */
@supports (animation-timeline:view()){
  .case-card{
    animation:caseScroll both linear;
    animation-timeline:view();
    animation-range:entry 0% cover 32%;
  }
  @keyframes caseScroll{
    from{opacity:.25;transform:translateY(70px) scale(.94);}
    to{opacity:1;transform:translateY(0) scale(1);}
  }

  .feature-card{
    animation:featureScroll both linear;
    animation-timeline:view();
    animation-range:entry 0% cover 28%;
  }
  @keyframes featureScroll{
    from{opacity:.15;transform:translateY(50px) rotateX(8deg);}
    to{opacity:1;transform:translateY(0) rotateX(0);}
  }
}

@media(max-width:1020px){
  .team-card{
    grid-template-columns:minmax(160px,210px) 1fr !important;
  }
  .service-trigger{
    grid-template-columns:52px 1fr 46px;
  }
  .service-trigger .service-pill{display:none;}
  .service-toggle-icon{grid-column:3;grid-row:1 / span 2;}
  .service-details-inner{
    margin-left:72px;
  }
}

@media(max-width:640px){
  .hero-lead{
    margin-top:36px !important;
    font-size:17px !important;
    line-height:1.32 !important;
  }

  .team-card{
    grid-template-columns:1fr !important;
  }

  .portrait-placeholder.portrait-photo{
    width:min(100%,320px);
    margin-inline:auto;
  }

  .service-trigger{
    min-height:104px;
    grid-template-columns:42px 1fr 40px;
    gap:12px;
    padding:22px 18px;
  }

  .service-details-inner{
    margin-left:54px;
    padding-inline:18px;
  }

  .service-trigger .service-copy h3{
    font-size:26px;
  }
}


/* ===== SIRIUS v4.1 hotfix: header mark + functional services ===== */
.site-header .brand-logo,
.site-header .brand-logo-header{
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
  border-radius:0 !important;
}
.site-header .brand-logo img,
.site-header .brand-logo-header img{
  filter:brightness(0) invert(1) !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

/* Ensure accordions override the original grid service styling */
.service-stack{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}
.service-panel.service-accordion{
  display:block !important;
  grid-template-columns:none !important;
  padding:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.service-panel.service-accordion .service-trigger{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:118px;
  display:grid !important;
  grid-template-columns:70px minmax(0,1fr) auto 52px;
  gap:20px;
  align-items:center;
  padding:26px 28px;
  border:0;
  background:transparent;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.service-panel.service-accordion .service-trigger:hover{
  background:rgba(255,255,255,.025);
}
.service-panel.service-accordion .service-trigger .service-index{
  font-family:Antonio,sans-serif;
  font-size:31px;
  color:rgba(255,255,255,.3);
}
.service-panel.service-accordion .service-trigger .service-copy h3{
  margin:0;
  color:#fff;
  font-size:clamp(26px,3vw,43px);
  letter-spacing:-.035em;
}
.service-panel.service-accordion .service-trigger .service-copy p{
  margin:7px 0 0;
  color:rgba(255,255,255,.5);
  font-size:15px;
  line-height:1.45;
}
.service-panel.service-accordion .service-trigger .service-pill{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  color:rgba(255,255,255,.55);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.service-toggle-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  font-style:normal;
  font-size:24px;
  line-height:1;
  transition:transform .4s var(--ease), background .25s ease, color .25s ease;
}
.service-details{
  display:grid !important;
  grid-template-rows:0fr !important;
  opacity:0;
  transition:grid-template-rows .5s var(--ease), opacity .35s ease !important;
}
.service-details-inner{
  min-height:0;
  overflow:hidden;
  margin-left:90px;
  max-width:820px;
  padding:0 28px 0;
  color:rgba(255,255,255,.68);
}
.service-details-inner p{margin:0 0 18px;font-size:16px;line-height:1.6}
.service-details-inner ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.service-details-inner li{position:relative;padding-left:20px;color:rgba(255,255,255,.5)}
.service-details-inner li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 14px rgba(142,160,255,.55);
}
.service-accordion.open{
  background:linear-gradient(135deg,rgba(142,160,255,.13),rgba(255,255,255,.025)) !important;
  border-color:rgba(142,160,255,.38) !important;
}
.service-accordion.open .service-details{
  grid-template-rows:1fr !important;
  opacity:1 !important;
}
.service-accordion.open .service-details-inner{
  padding-bottom:30px;
}
.service-accordion.open .service-toggle-icon{
  transform:rotate(45deg);
  background:#fff;
  color:#050506;
}

@media(max-width:900px){
  .service-panel.service-accordion .service-trigger{
    grid-template-columns:50px minmax(0,1fr) 44px;
  }
  .service-panel.service-accordion .service-trigger .service-pill{display:none}
  .service-toggle-icon{grid-column:3;grid-row:1 / span 2}
  .service-details-inner{margin-left:70px}
}
@media(max-width:600px){
  .service-panel.service-accordion .service-trigger{
    grid-template-columns:42px minmax(0,1fr) 40px;
    padding:20px 16px;
    gap:10px;
  }
  .service-details-inner{
    margin-left:52px;
    padding-left:16px;
    padding-right:16px;
  }
}


/* ===== FIX FINAL HEADER + CONTACTO ===== */
.site-header .brand-logo-header.brand-star-white{
  width:36px;
  height:36px;
  display:inline-block;
  flex:0 0 36px;
  padding:0 !important;
  border-radius:0 !important;
  background-color:#fff !important;
  box-shadow:none !important;

  -webkit-mask-image:url("../assets/sirius-star-transparent.png");
  mask-image:url("../assets/sirius-star-transparent.png");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

/* Oculta cualquier nota técnica residual por seguridad */
.contact-actions small{
  display:none !important;
}


/* ===== FIX REAL LOGO BLANCO v5 =====
   Se usa un PNG blanco real con transparencia.
   No depende de filter ni CSS mask.
*/
.site-header .brand-logo-header,
.site-header .brand-logo-header.brand-star-white{
  width:36px !important;
  height:36px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 36px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  -webkit-mask:none !important;
  mask:none !important;
}

.site-header .brand-logo-header img{
  display:block !important;
  width:26px !important;
  height:26px !important;
  object-fit:contain !important;
  opacity:1 !important;
  filter:none !important;
}

.logo-symbol-3d img{
  filter:none !important;
  opacity:1 !important;
}

/* El símbolo blanco del hero debe leerse claramente sin perder profundidad */
.logo-symbol-3d{
  filter:
    drop-shadow(0 34px 38px rgba(0,0,0,.44))
    drop-shadow(0 0 30px rgba(255,255,255,.08))
    drop-shadow(0 0 42px rgba(142,160,255,.18)) !important;
}


/* ===== CASOS DEMOSTRATIVOS + TESTIMONIOS SIRIUS ===== */

.academic-note{
  margin-top:14px !important;
  font-size:12px !important;
  line-height:1.5 !important;
  letter-spacing:.03em;
  color:#9a9aa0 !important;
}

.section-head h2 span,
.testimonial-intro h2 span{
  color:#a8a8ae;
}

/* Casos */
.case-grid-sirius{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch;
  gap:18px !important;
}

.case-card-sirius{
  min-height:720px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:42px;
  background:#f4f4f6;
  box-shadow:0 22px 70px rgba(0,0,0,.08);
  transform-style:preserve-3d;
  transition:box-shadow .5s var(--ease), transform .5s var(--ease);
}

.case-card-sirius:hover{
  box-shadow:0 38px 100px rgba(0,0,0,.15);
}

.case-media{
  position:relative;
  min-height:330px;
  overflow:hidden;
}

.case-media-photo img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:center 60%;
  transition:transform 1.1s var(--ease);
}

.case-card-sirius:hover .case-media-photo img{
  transform:scale(1.045);
}

.case-media-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.12) 55%,rgba(0,0,0,.55)),
    radial-gradient(circle at 70% 10%,rgba(255,255,255,.24),transparent 28%);
}

.case-number,
.case-type{
  position:absolute;
  z-index:3;
  top:20px;
  color:#fff;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.case-number{
  left:22px;
  font-family:Antonio,sans-serif;
  font-size:26px;
  letter-spacing:.05em;
}

.case-type{
  right:22px;
  text-align:right;
  opacity:.72;
}

.case-media-logo{
  display:grid;
  place-items:center;
  isolation:isolate;
}

.case-media-logo img{
  position:relative;
  z-index:3;
  width:min(64%,240px);
  max-height:190px;
  object-fit:contain;
  filter:drop-shadow(0 18px 28px rgba(0,0,0,.16));
  transition:transform .8s var(--ease);
}

.case-card-sirius:hover .case-media-logo img{
  transform:translateY(-8px) scale(1.025);
}

.rey-media{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.75),transparent 27%),
    linear-gradient(145deg,#ffcf42,#eaa91b);
}

.rey-media .case-number,
.rey-media .case-type{
  color:#111;
}

.case-orbit{
  position:absolute;
  border:1px solid rgba(0,0,0,.14);
  border-radius:50%;
  z-index:1;
}
.case-orbit-a{
  width:270px;
  height:270px;
  animation:caseOrbitSpin 15s linear infinite;
}
.case-orbit-b{
  width:380px;
  height:380px;
  border-style:dashed;
  opacity:.6;
  animation:caseOrbitSpin 24s linear infinite reverse;
}
@keyframes caseOrbitSpin{to{transform:rotate(360deg)}}

.polaris-media{
  background:
    radial-gradient(circle at 55% 42%,rgba(142,160,255,.18),transparent 30%),
    linear-gradient(150deg,#f3f3f5,#dcdde2);
}

.polaris-media .case-number,
.polaris-media .case-type{
  color:#111;
}

.polaris-media img{
  width:min(78%,310px);
  max-height:160px;
}

.polaris-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(circle at center,#000,transparent 72%);
  z-index:1;
}

.case-content{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:28px;
}

.case-eyebrow{
  display:block;
  margin-bottom:10px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:#85858c;
}

.case-content h3{
  margin:0;
  font-size:clamp(29px,2.4vw,40px);
  line-height:1.02;
  letter-spacing:-.045em;
}

.case-content>p{
  margin:18px 0 0;
  color:#74747b;
  line-height:1.55;
  font-size:15px;
}

.case-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:24px;
}

.case-tags span{
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.1);
  background:rgba(255,255,255,.7);
  color:#696970;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.case-objective{
  margin-top:auto;
  padding-top:24px;
  border-top:1px solid rgba(0,0,0,.09);
}

.case-objective b{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#919198;
}

.case-objective p{
  margin:0;
  color:#55555c;
  line-height:1.5;
  font-size:14px;
}

/* Testimonios */
.testimonials-section{
  background:
    radial-gradient(circle at 85% 15%,rgba(142,160,255,.09),transparent 24%),
    #ece8de;
}

.testimonial-intro{
  display:grid;
  grid-template-columns:1.25fr .55fr;
  gap:70px;
  align-items:end;
  margin:24px 0 60px;
}

.testimonial-intro h2{
  margin:0;
  font-size:clamp(52px,7vw,96px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:680;
}

.testimonial-intro p{
  margin:0;
  color:#77766f;
  line-height:1.55;
  font-size:16px;
}

.testimonial-grid-sirius{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}

.testimonial-card{
  min-height:470px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding:28px;
  border-radius:34px;
  box-shadow:0 16px 50px rgba(0,0,0,.06);
}

.testimonial-card>p{
  position:relative;
  z-index:2;
  margin:52px 0 32px;
  font-size:clamp(21px,2vw,28px);
  line-height:1.18;
  letter-spacing:-.035em;
  font-weight:550;
}

.testimonial-card footer{
  position:relative;
  z-index:2;
  margin-top:auto;
  display:grid;
  gap:14px;
}

.testimonial-card footer div{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.testimonial-card footer strong{
  font-size:14px;
}

.testimonial-card footer span{
  font-size:12px;
  opacity:.58;
}

.testimonial-card footer small{
  padding-top:14px;
  border-top:1px solid currentColor;
  opacity:.33;
  font-size:9px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.testimonial-mark{
  position:absolute;
  top:8px;
  right:24px;
  font-family:Georgia,serif;
  font-size:120px;
  line-height:1;
  opacity:.08;
}

.testimonial-dark{
  color:#fff;
  background:
    radial-gradient(circle at 15% 15%,rgba(142,160,255,.23),transparent 28%),
    #08090d;
}

.testimonial-yellow{
  color:#111;
  background:linear-gradient(145deg,#ffce3f,#e7a416);
}

.testimonial-light{
  color:#111;
  background:#f8f8f6;
}

@media(max-width:1020px){
  .case-grid-sirius,
  .testimonial-grid-sirius{
    grid-template-columns:1fr !important;
  }

  .case-card-sirius{
    min-height:0;
  }

  .testimonial-intro{
    grid-template-columns:1fr;
    gap:20px;
  }
}

@media(max-width:640px){
  .case-media{
    min-height:280px;
  }

  .case-content{
    padding:22px;
  }

  .testimonial-card{
    min-height:400px;
    padding:22px;
  }

  .testimonial-card>p{
    font-size:21px;
  }
}


/* ============================================================
   SIRIUS · RESPONSIVE MASTER v7
   Breakpoints: desktop / laptop / tablet / mobile / compact
   Este bloque va al final para prevalecer sobre ajustes anteriores.
   ============================================================ */

html, body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

main, section, .shell,
.hero-grid, .section-head, .feature-grid, .ecosystem-layout,
.team-bento, .team-card, .service-stack, .case-grid-sirius,
.testimonial-grid-sirius, .contact-grid{
  min-width:0;
}

img, video, canvas, svg{
  max-width:100%;
}

h1,h2,h3,p,span,a,li{
  overflow-wrap:break-word;
}

/* Laptops / small desktops */
@media (max-width:1180px){
  .shell{
    width:min(calc(100% - 40px), var(--shell));
  }

  .hero-stage{
    padding-top:108px;
  }

  .hero-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(290px,.65fr) !important;
    gap:42px !important;
  }

  .wordmark{
    font-size:clamp(92px,14vw,178px) !important;
  }

  .hero-lead{
    max-width:640px !important;
    font-size:clamp(18px,2.1vw,25px) !important;
  }

  .hero-object-wrap{
    min-height:390px !important;
  }

  .hero-object{
    width:min(360px,31vw) !important;
    min-width:280px !important;
  }

  .section-head,
  .feature-grid,
  .ecosystem-layout,
  .contact-grid{
    gap:48px !important;
  }

  .team-card{
    grid-template-columns:minmax(180px,220px) minmax(0,1fr) !important;
  }

  .case-content h3{
    font-size:clamp(27px,2.8vw,36px) !important;
  }
}

/* Tablet */
@media (max-width:900px){
  .shell{
    width:min(calc(100% - 32px), var(--shell));
  }

  .site-header .nav{
    height:64px;
  }

  .brand-word{
    font-size:24px;
  }

  .nav-links{
    top:64px !important;
    height:calc(100dvh - 64px) !important;
    padding:24px 20px 36px !important;
    overflow-y:auto;
  }

  .nav-links a{
    font-size:22px !important;
  }

  .hero-stage{
    min-height:auto !important;
    padding:96px 0 34px !important;
  }

  .hero-shell{
    min-height:auto !important;
  }

  .hero-top{
    margin-bottom:28px;
  }

  .hero-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:18px 0 22px !important;
  }

  .hero-copy{
    order:1 !important;
  }

  .hero-object-wrap{
    order:2 !important;
    min-height:260px !important;
    margin:6px 0 0 !important;
  }

  .hero-object{
    width:min(250px,44vw) !important;
    min-width:0 !important;
  }

  .wordmark{
    font-size:clamp(92px,21vw,168px) !important;
    line-height:.78 !important;
  }

  .hero-lead{
    max-width:620px !important;
    margin-top:38px !important;
    font-size:clamp(18px,3vw,24px) !important;
  }

  .hero-offer{
    max-width:100% !important;
  }

  .hero-meta{
    flex-wrap:wrap;
  }

  .hero-scroll-hint{
    display:none !important;
  }

  .section{
    padding:clamp(78px,11vw,120px) 0 !important;
  }

  .manifesto{
    padding:clamp(82px,12vw,130px) 0 !important;
  }

  .manifesto-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .manifesto-title{
    font-size:clamp(50px,10vw,90px) !important;
  }

  .section-head,
  .feature-grid,
  .ecosystem-layout,
  .contact-grid,
  .testimonial-intro{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .section-head{
    margin-bottom:42px !important;
  }

  .section-head h2,
  .feature-copy h2,
  .contact h2,
  .ecosystem-copy h2,
  .testimonial-intro h2{
    font-size:clamp(48px,9vw,78px) !important;
  }

  .team-bento{
    grid-template-columns:1fr !important;
  }

  .team-card{
    grid-template-columns:minmax(180px,230px) minmax(0,1fr) !important;
    min-height:0 !important;
    padding:24px !important;
  }

  .portrait-placeholder.portrait-photo{
    max-width:230px;
  }

  .feature-copy{
    position:relative !important;
    top:auto !important;
  }

  .feature-card:nth-child(n){
    transform:none !important;
  }

  .ecosystem-copy{
    text-align:left !important;
  }

  .ecosystem-copy>p{
    margin:22px 0 0 !important;
  }

  .ecosystem-legend{
    justify-content:flex-start !important;
  }

  .ecosystem-stage{
    width:min(620px,100%) !important;
  }

  .case-grid-sirius,
  .testimonial-grid-sirius{
    grid-template-columns:1fr !important;
  }

  .case-card-sirius{
    min-height:0 !important;
  }

  .case-media{
    min-height:320px !important;
  }

  .testimonial-card{
    min-height:0 !important;
  }

  .contact-logo-art{
    right:-30px !important;
    top:28% !important;
    opacity:.09 !important;
  }

  .footer-inner{
    flex-wrap:wrap;
  }
}

/* Mobile */
@media (max-width:640px){
  :root{
    --radius-xl:30px;
    --radius-lg:24px;
    --radius-md:18px;
  }

  .shell{
    width:min(calc(100% - 24px), var(--shell)) !important;
  }

  .nav{
    height:60px !important;
  }

  .site-header .brand-logo-header{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }

  .site-header .brand-logo-header img{
    width:23px !important;
    height:23px !important;
  }

  .brand-word{
    font-size:22px !important;
  }

  .menu-toggle{
    width:40px !important;
    height:40px !important;
  }

  .nav-links{
    top:60px !important;
    height:calc(100dvh - 60px) !important;
  }

  .hero-stage{
    padding:88px 0 28px !important;
  }

  .hero-top{
    gap:12px !important;
    margin-bottom:18px !important;
  }

  .hero-side-note{
    display:none !important;
  }

  .eyebrow,
  .section-kicker{
    font-size:10px !important;
    line-height:1.45 !important;
    letter-spacing:.14em !important;
  }

  .hero-grid{
    gap:18px !important;
    padding:10px 0 18px !important;
  }

  .wordmark{
    font-size:clamp(76px,29vw,126px) !important;
    line-height:.8 !important;
    letter-spacing:-.045em !important;
    width:100%;
  }

  .hero-lead{
    max-width:100% !important;
    margin-top:30px !important;
    font-size:17px !important;
    line-height:1.35 !important;
    letter-spacing:-.012em !important;
  }

  .hero-offer{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:22px !important;
  }

  .hero-offer span{
    width:100% !important;
    min-height:42px !important;
    justify-content:flex-start;
    font-size:11px !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100%;
    margin-top:22px !important;
  }

  .hero-actions .button{
    width:100%;
    min-height:50px;
  }

  .hero-object-wrap{
    min-height:190px !important;
  }

  .hero-object{
    width:min(190px,52vw) !important;
  }

  .hero-meta{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px 14px !important;
    font-size:9px !important;
  }

  .hero-meta span:last-child{
    grid-column:1 / -1;
  }

  .marquee-track{
    padding:14px 0 !important;
    gap:18px !important;
    font-size:18px !important;
  }

  .manifesto{
    padding:72px 0 !important;
  }

  .manifesto-grid{
    gap:24px !important;
  }

  .manifesto-title{
    font-size:clamp(42px,14vw,66px) !important;
    line-height:.94 !important;
  }

  .manifesto-orb{
    width:300px !important;
    height:300px !important;
    right:-160px !important;
    bottom:-150px !important;
    opacity:.75;
  }

  .section{
    padding:72px 0 !important;
  }

  .section-head{
    margin:18px 0 34px !important;
    gap:18px !important;
  }

  .section-head h2,
  .feature-copy h2,
  .contact h2,
  .ecosystem-copy h2,
  .testimonial-intro h2{
    font-size:clamp(40px,13vw,58px) !important;
    line-height:.96 !important;
  }

  .section-head p,
  .feature-copy>p,
  .ecosystem-copy>p,
  .contact-actions>p,
  .testimonial-intro p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .team-bento{
    gap:14px !important;
  }

  .team-card{
    grid-template-columns:1fr !important;
    gap:20px !important;
    padding:18px !important;
    border-radius:28px !important;
  }

  .portrait-placeholder.portrait-photo{
    width:100% !important;
    max-width:none !important;
    aspect-ratio:4 / 5 !important;
    border-radius:22px !important;
  }

  .team-card h3{
    font-size:clamp(30px,9vw,42px) !important;
  }

  .team-card p{
    font-size:14px;
    line-height:1.55;
  }

  .service-stack{
    gap:10px !important;
  }

  .service-panel.service-accordion{
    border-radius:22px !important;
  }

  .service-panel.service-accordion .service-trigger{
    grid-template-columns:34px minmax(0,1fr) 36px !important;
    gap:10px !important;
    min-height:94px !important;
    padding:18px 14px !important;
  }

  .service-panel.service-accordion .service-trigger .service-index{
    font-size:22px !important;
  }

  .service-panel.service-accordion .service-trigger .service-copy h3{
    font-size:22px !important;
    line-height:1.08 !important;
  }

  .service-panel.service-accordion .service-trigger .service-copy p{
    font-size:13px !important;
    line-height:1.4 !important;
  }

  .service-toggle-icon{
    width:34px !important;
    height:34px !important;
    font-size:20px !important;
  }

  .service-details-inner{
    margin-left:44px !important;
    max-width:none !important;
    padding:0 14px 0 !important;
  }

  .service-accordion.open .service-details-inner{
    padding-bottom:22px !important;
  }

  .service-details-inner p,
  .service-details-inner li{
    font-size:13px !important;
    line-height:1.55 !important;
  }

  .feature-stack{
    gap:12px !important;
  }

  .feature-card{
    min-height:0 !important;
    padding:20px !important;
    border-radius:24px !important;
  }

  .feature-card h3{
    margin-top:18px !important;
    font-size:25px !important;
  }

  .ecosystem-section{
    overflow:hidden;
  }

  .ecosystem-stage{
    width:100% !important;
    aspect-ratio:1 / 1.08 !important;
    margin-top:28px !important;
  }

  .ecosystem-center{
    width:112px !important;
  }

  .ecosystem-logo-card{
    width:62px !important;
  }

  .ecosystem-node{
    padding:9px 11px !important;
    font-size:10px !important;
    white-space:nowrap;
  }

  .node-web{top:7% !important;left:42% !important}
  .node-instagram{top:28% !important;right:-1% !important}
  .node-whatsapp{bottom:16% !important;right:2% !important}
  .node-ads{bottom:9% !important;left:16% !important}
  .node-sales{top:31% !important;left:-1% !important}

  .case-grid-sirius{
    gap:14px !important;
  }

  .case-card-sirius{
    border-radius:28px !important;
  }

  .case-media{
    min-height:250px !important;
  }

  .case-number{
    left:16px !important;
    top:16px !important;
    font-size:22px !important;
  }

  .case-type{
    right:16px !important;
    top:17px !important;
    max-width:55%;
    font-size:9px !important;
  }

  .case-media-logo img{
    width:min(68%,210px) !important;
    max-height:140px !important;
  }

  .polaris-media img{
    width:min(76%,250px) !important;
  }

  .case-content{
    padding:20px !important;
  }

  .case-content h3{
    font-size:30px !important;
  }

  .case-content>p,
  .case-objective p{
    font-size:14px !important;
  }

  .testimonial-intro{
    margin:18px 0 34px !important;
  }

  .testimonial-grid-sirius{
    gap:14px !important;
  }

  .testimonial-card{
    min-height:0 !important;
    padding:20px !important;
    border-radius:26px !important;
  }

  .testimonial-card>p{
    margin:38px 0 28px !important;
    font-size:20px !important;
    line-height:1.28 !important;
  }

  .testimonial-mark{
    font-size:88px !important;
    right:16px !important;
  }

  .contact{
    padding:78px 0 !important;
  }

  .contact-grid{
    gap:24px !important;
  }

  .contact-actions{
    gap:16px !important;
  }

  .contact-actions .button{
    width:100%;
  }

  .contact-rings{
    width:520px !important;
    right:-330px !important;
  }

  .contact-logo-art{
    width:160px;
    right:-60px !important;
    top:34% !important;
  }

  .contact-logo-card{
    width:160px !important;
  }

  .footer-inner{
    min-height:0 !important;
    padding:28px 0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* Extra compact phones */
@media (max-width:390px){
  .shell{
    width:calc(100% - 20px) !important;
  }

  .brand-word{
    font-size:20px !important;
  }

  .wordmark{
    font-size:clamp(70px,28vw,108px) !important;
  }

  .hero-lead{
    font-size:16px !important;
  }

  .hero-object{
    width:165px !important;
  }

  .hero-meta{
    grid-template-columns:1fr !important;
  }

  .hero-meta span:last-child{
    grid-column:auto;
  }

  .manifesto-title{
    font-size:40px !important;
  }

  .section-head h2,
  .feature-copy h2,
  .contact h2,
  .ecosystem-copy h2,
  .testimonial-intro h2{
    font-size:38px !important;
  }

  .service-panel.service-accordion .service-trigger{
    grid-template-columns:30px minmax(0,1fr) 32px !important;
    padding:16px 12px !important;
  }

  .service-details-inner{
    margin-left:38px !important;
    padding-inline:12px !important;
  }

  .case-content h3{
    font-size:27px !important;
  }
}

/* Short landscape phones */
@media (max-height:520px) and (orientation:landscape){
  .hero-stage{
    min-height:auto !important;
    padding-top:82px !important;
  }

  .hero-object-wrap{
    display:none !important;
  }

  .nav-links{
    overflow-y:auto;
  }
}


/* ============================================================
   SIRIUS · MOBILE CLEANUP v8
   Corrige solapamientos y reemplaza el diagrama orbital en móvil.
   ============================================================ */

.ecosystem-mobile-map{
  display:none;
}

@media (max-width:640px){

  /* Navbar: en celular dejamos solo el wordmark SIRIUS */
  .site-header .brand-logo-header{
    display:none !important;
  }

  .site-header .brand{
    gap:0 !important;
  }

  .site-header .brand-word{
    font-size:23px !important;
    letter-spacing:.09em !important;
  }

  /* Hero: eliminamos el objeto decorativo grande para no alargar la portada */
  .hero-object-wrap{
    display:none !important;
  }

  .hero-grid{
    display:block !important;
  }

  .hero-copy{
    width:100% !important;
  }

  .hero-meta{
    margin-top:34px !important;
    padding-top:20px !important;
  }

  /* Manifiesto: ningún objeto debe tapar texto */
  .manifesto{
    overflow:hidden !important;
  }

  .manifesto-orb,
  .metal-orb,
  .contact-logo-art{
    display:none !important;
  }

  .manifesto-grid{
    position:relative;
    z-index:2;
  }

  .manifesto-title{
    max-width:100% !important;
    font-size:clamp(38px,12vw,54px) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  .manifesto-accent{
    margin-top:18px !important;
    color:#b6b6bc !important;
  }

  /* Ecosistema: ocultamos la versión orbital en celular */
  .ecosystem-stage{
    display:none !important;
  }

  .ecosystem-legend{
    display:none !important;
  }

  .ecosystem-layout{
    display:block !important;
  }

  .ecosystem-copy{
    margin-bottom:30px !important;
  }

  .ecosystem-mobile-map{
    display:block;
    position:relative;
    margin-top:30px;
    padding:16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:
      radial-gradient(circle at 85% 5%,rgba(142,160,255,.18),transparent 30%),
      rgba(255,255,255,.035);
    box-shadow:
      0 24px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.06);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    overflow:hidden;
  }

  .ecosystem-mobile-map::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
      linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:28px 28px;
    mask-image:linear-gradient(to bottom,#000,transparent 92%);
  }

  .ecosystem-mobile-core{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:16px;
    min-height:112px;
    padding:18px;
    border-radius:22px;
    background:
      linear-gradient(135deg,rgba(142,160,255,.17),rgba(255,255,255,.045));
    border:1px solid rgba(255,255,255,.12);
  }

  .ecosystem-mobile-star{
    width:62px;
    height:62px;
    flex:0 0 62px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 12px 34px rgba(0,0,0,.22);
  }

  .ecosystem-mobile-star img{
    width:42px;
    height:42px;
    object-fit:contain;
  }

  .ecosystem-mobile-core div:last-child{
    display:flex;
    flex-direction:column;
    gap:5px;
  }

  .ecosystem-mobile-core span{
    color:rgba(255,255,255,.45);
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.13em;
  }

  .ecosystem-mobile-core strong{
    color:#fff;
    font-size:27px;
    line-height:1;
    letter-spacing:-.035em;
  }

  .ecosystem-mobile-channels{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:10px;
  }

  .ecosystem-mobile-channels article{
    min-width:0;
    min-height:105px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:15px;
    border-radius:20px;
    border:1px solid rgba(255,255,255,.09);
    background:rgba(7,9,17,.58);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }

  .ecosystem-mobile-channels article > span{
    margin-bottom:auto;
    color:#7f8fff;
    font-family:Antonio,sans-serif;
    font-size:17px;
  }

  .ecosystem-mobile-channels article strong{
    color:#fff;
    font-size:17px;
    line-height:1.05;
  }

  .ecosystem-mobile-channels article small{
    margin-top:5px;
    color:rgba(255,255,255,.42);
    font-size:10px;
    line-height:1.35;
  }

  .ecosystem-mobile-wide{
    grid-column:1 / -1;
    min-height:92px !important;
  }

  /* Decoraciones que pueden pisar contenido */
  .contact-rings{
    opacity:.35 !important;
  }
}

@media (max-width:390px){
  .ecosystem-mobile-channels{
    grid-template-columns:1fr !important;
  }

  .ecosystem-mobile-wide{
    grid-column:auto;
  }

  .ecosystem-mobile-core strong{
    font-size:24px;
  }

  .ecosystem-mobile-star{
    width:56px;
    height:56px;
    flex-basis:56px;
  }

  .ecosystem-mobile-star img{
    width:38px;
    height:38px;
  }
}


/* ============================================================
   SIRIUS · TEAM LAYOUT CLEANUP v9
   Elimina espacios verticales innecesarios y mantiene motion móvil.
   ============================================================ */

/* Desktop / laptop: dos columnas con altura natural, no filas estiradas */
.team-bento{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:18px !important;
}

.team-card{
  flex:1 1 calc(50% - 9px) !important;
  width:calc(50% - 9px) !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  align-items:start !important;
  align-content:start !important;
}

.team-info{
  align-self:start !important;
  padding-top:8px;
}

.portrait-placeholder.portrait-photo{
  align-self:start !important;
}

/* Las tarjetas ya no comparten altura artificial */
.team-card-dark,
.team-card-light,
.team-card-featured,
.team-card-cream{
  align-self:flex-start !important;
}

/* Tablet: una sola columna, composición horizontal compacta */
@media (max-width:900px){
  .team-bento{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .team-card{
    width:100% !important;
    flex:0 0 auto !important;
    grid-template-columns:minmax(170px,220px) minmax(0,1fr) !important;
    align-items:start !important;
    padding:22px !important;
  }

  .team-info{
    padding-top:2px !important;
  }

  /* Scroll animation se conserva en tablet */
  .team-card.reveal{
    opacity:0;
    filter:blur(6px);
    transform:translateY(34px) scale(.985) !important;
  }

  .team-card.reveal.visible{
    opacity:1;
    filter:blur(0);
    transform:none !important;
  }
}

/* Mobile: tarjeta vertical limpia + motion al hacer scroll */
@media (max-width:640px){
  .team-bento{
    gap:12px !important;
  }

  .team-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:18px !important;
    padding:16px !important;
    border-radius:26px !important;
  }

  .portrait-placeholder.portrait-photo{
    width:100% !important;
    aspect-ratio:4 / 5 !important;
    max-height:none !important;
    margin:0 !important;
  }

  .team-info{
    padding:2px 2px 4px !important;
  }

  .team-card h3{
    margin-top:10px !important;
  }

  /* Mantener las animaciones de entrada en celular */
  .team-card.reveal{
    opacity:0 !important;
    filter:blur(7px) !important;
    transform:translateY(38px) scale(.975) !important;
    transition:
      opacity .85s var(--ease),
      transform .85s var(--ease),
      filter .75s var(--ease) !important;
  }

  .team-card.reveal.visible{
    opacity:1 !important;
    filter:blur(0) !important;
    transform:none !important;
  }

  /* Servicios también conservan scroll motion sin moverse lateralmente */
  .service-panel.reveal{
    opacity:0 !important;
    filter:blur(5px) !important;
    transform:translateY(28px) !important;
  }

  .service-panel.reveal.visible{
    opacity:1 !important;
    filter:blur(0) !important;
    transform:none !important;
  }

  .case-card-sirius.reveal,
  .testimonial-card.reveal,
  .feature-card.reveal{
    opacity:0 !important;
    filter:blur(5px) !important;
    transform:translateY(32px) scale(.985) !important;
  }

  .case-card-sirius.reveal.visible,
  .testimonial-card.reveal.visible,
  .feature-card.reveal.visible{
    opacity:1 !important;
    filter:blur(0) !important;
    transform:none !important;
  }
}
