/* CONTABILIS — Home oficial, dirección Flujo. Independiente de la app. */
.concept-kicker { margin: 0 0 18px; color: var(--blue); font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.concept-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy); font-weight: 800; text-decoration: none; }
.concept-link:hover { color: var(--blue); }
.concept-link--light { color: rgba(255,255,255,.9); }
.concept-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.home-flow{
  --d-blue:#2f6fed;
  --d-blue-deep:#1f57d2;
  --d-ice:#f3f7ff;
  --d-ice-2:#eaf2ff;
  --d-navy:#13213d;
  --d-muted:#68768e;
  --d-line:#dbe6f6;
  background:#fbfdff;
}
.home-flow .site-header{background:rgba(251,253,255,.88);overflow:hidden;padding:108px 0 44px;background:linear-gradient(180deg,#f8fbff 0%,#fff 76%)}
.d-hero::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#dce6f4 18%,#dce6f4 82%,transparent)}
.d-hero__glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(8px)}
.d-hero__glow--one{width:620px;height:620px;right:-250px;top:-240px;background:radial-gradient(circle,rgba(66,125,245,.14),rgba(66,125,245,0) 66%)}
.d-hero__glow--two{width:480px;height:480px;left:-260px;bottom:-250px;background:radial-gradient(circle,rgba(145,191,255,.11),rgba(145,191,255,0) 68%)}
.d-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(430px,.84fr);gap:64px;align-items:center}
.d-hero__copy{padding:18px 0 44px}
.d-hero h1{max-width:800px;margin:0;color:var(--d-navy);font-size:clamp(58px,6.25vw,88px);line-height:.98;letter-spacing:-.066em}
.d-hero h1 span{color:var(--d-blue)}
.d-hero__copy>p:not(.concept-kicker){max-width:690px;margin:30px 0 0;color:#5f6f87;font-size:20px;line-height:1.62}
.d-hero__foot{position:relative;display:flex;gap:0;margin-top:40px;border-top:1px solid #e0e8f4;color:#68768d}
.d-hero__foot span{flex:1;padding:18px 26px 6px 0;font-size:13px;font-weight:700}
.d-hero__foot span+span{padding-left:26px;border-left:1px solid #e0e8f4}

.d-orbit{position:relative;height:510px;isolation:isolate}
.d-orbit::before{content:'';position:absolute;inset:55px 22px 48px 36px;z-index:-2;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(47,111,237,.09),rgba(47,111,237,.02) 46%,transparent 70%)}
.d-orbit::after{content:'';position:absolute;inset:104px 92px 92px 86px;z-index:-1;border:1px solid rgba(99,145,238,.13);border-radius:50%}
.d-orbit__path{position:absolute;inset:20px 0 0;width:100%;height:100%;overflow:visible;color:#7aa2f6}
.d-orbit__rail{fill:none;stroke:url(#flowGradient);stroke-width:2.25;stroke-linecap:round;stroke-dasharray:3 9;opacity:.68}
.d-orbit__pulse{fill:none;stroke:#2f6fed;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:22 620;filter:drop-shadow(0 0 8px rgba(47,111,237,.42));animation:d-orbit-pulse 7s linear infinite}
.d-orbit__core{position:absolute;left:50%;top:51%;z-index:3;width:190px;height:190px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.88);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(241,246,255,.92));box-shadow:0 28px 80px rgba(29,73,160,.16),inset 0 0 0 8px rgba(255,255,255,.55);text-align:center}
.d-orbit__core::before{content:'';position:absolute;inset:13px;border:1px solid #dbe7fa;border-radius:50%}
.d-orbit__core span,.d-orbit__core small{position:relative;color:#8290a7;font-size:11px;font-weight:700;letter-spacing:.03em}
.d-orbit__core strong{position:relative;margin:2px 0;color:var(--d-navy);font-size:28px;letter-spacing:-.045em}
.d-orbit__node{position:absolute;z-index:4;min-width:116px;padding:13px 16px 14px;border:1px solid #d9e5f7;border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 46px rgba(40,84,170,.11)}
.d-orbit__node>span{display:block;color:#97a5bb;font-size:10px;font-weight:800;letter-spacing:.12em}
.d-orbit__node strong{display:block;margin-top:2px;color:#1c2a45;font-size:15px;letter-spacing:-.02em}
.d-orbit__node small{display:block;margin-top:1px;color:#7b899e;font-size:11px}
.d-orbit__node--sale{left:1%;top:43%;animation-delay:-1.2s}
.d-orbit__node--invoice{left:33%;top:3%;border-color:#2f6fed;background:linear-gradient(145deg,#3878f3,#245ed7);box-shadow:0 18px 52px rgba(47,111,237,.27);animation-delay:-2.4s}
.d-orbit__node--invoice>span,.d-orbit__node--invoice small{color:rgba(255,255,255,.7)}.d-orbit__node--invoice strong{color:#fff}
.d-orbit__node--cash{right:0;top:29%;animation-delay:-3.3s}
.d-orbit__node--stock{left:23%;bottom:3%;animation-delay:-4.2s}
.d-orbit__node--control{right:2%;bottom:7%;min-width:128px;animation-delay:-5.1s}
@keyframes d-orbit-pulse{to{stroke-dashoffset:-642}}50%{transform:translateY(-5px)}}

.d-flow{padding:118px 0 126px;background:linear-gradient(180deg,#eef5ff 0%,#f4f8ff 100%)}
.d-flow__heading{display:grid;grid-template-columns:1.2fr .62fr;gap:92px;align-items:end}
.d-flow__heading h2{max-width:820px;margin:0;color:var(--d-navy);font-size:clamp(48px,5.3vw,72px);line-height:1.01;letter-spacing:-.055em}
.d-flow__heading>p{max-width:460px;margin:0 0 6px;color:#64738b;font-size:17px;line-height:1.7}
.d-journey{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin-top:82px;padding-top:44px}
.d-journey__rail{position:absolute;left:0;right:0;top:20px;height:1px;background:#c8daf7}
.d-journey__rail span{display:block;width:72%;height:2px;margin-top:-.5px;background:linear-gradient(90deg,#2f6fed,#82a8f7);box-shadow:0 0 14px rgba(47,111,237,.18)}
.d-journey article{position:relative;padding:26px 20px 8px 0}
.d-journey article b{display:block;margin-bottom:30px;color:#9aa9bf;font-size:11px;letter-spacing:.12em}
.d-journey__dot{position:absolute;left:0;top:-31px;width:22px;height:22px;border:6px solid #eef5ff;border-radius:50%;background:#2f6fed;box-shadow:0 0 0 1px #7aa2f3,0 7px 22px rgba(47,111,237,.23)}
.d-journey article:nth-of-type(4) .d-journey__dot{background:#fff;box-shadow:0 0 0 5px rgba(47,111,237,.13),0 0 0 6px #2f6fed}
.d-journey strong{display:block;color:#17243d;font-size:29px;letter-spacing:-.04em}
.d-journey p{max-width:250px;margin:11px 0 0;color:#6d7a90;font-size:14px;line-height:1.7}

.d-insight{padding:124px 0 132px;background:#fff}
.d-insight__grid{display:grid;grid-template-columns:1.06fr .94fr;gap:74px;align-items:center}
.d-attention{position:relative;overflow:hidden;min-height:610px;padding:38px;border:1px solid #d9e5f7;border-radius:34px;background:linear-gradient(155deg,#2f6fed 0%,#255fd5 55%,#184aa9 100%);box-shadow:0 36px 92px rgba(47,111,237,.20);color:#fff}
.d-attention::before{content:'';position:absolute;width:340px;height:340px;right:-130px;top:-140px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 52px rgba(255,255,255,.035),0 0 0 104px rgba(255,255,255,.025)}
.d-attention__top{position:relative;display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.d-attention__top small{color:rgba(255,255,255,.66);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.d-attention__top h2{max-width:500px;margin:14px 0 0;font-size:clamp(40px,4vw,55px);line-height:1.03;letter-spacing:-.052em}
.d-attention__status{flex:none;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.88);font-size:11px;font-weight:700;height:7px;border-radius:50%;background:#8ef0b3;box-shadow:0 0 0 4px rgba(142,240,179,.12)}
.d-attention__list{position:relative;margin-top:62px;border-top:1px solid rgba(255,255,255,.18)}
.d-attention__list article{display:grid;grid-template-columns:46px 1fr 20px;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.d-attention__icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.11);font-weight:800}
.d-attention__list strong,.d-attention__list small{display:block}.d-attention__list strong{font-size:15px}.d-attention__list small{margin-top:3px;color:rgba(255,255,255,.63);font-size:12px}.d-attention__list b{color:rgba(255,255,255,.55);font-size:17px}
.d-attention__mini{position:absolute;left:38px;right:38px;bottom:32px;display:flex;gap:8px;flex-wrap:wrap}
.d-attention__mini span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.09);color:rgba(255,255,255,.68);font-size:10px;font-weight:700;letter-spacing:.04em}
.d-answer{padding:26px 0}
.d-answer h2{max-width:590px;margin:0;color:var(--d-navy);font-size:clamp(46px,4.7vw,66px);line-height:1.02;letter-spacing:-.057em}
.d-answer__lead{max-width:590px;margin:24px 0 0;color:#65748b;font-size:17px;line-height:1.72}
.d-answer__questions{margin-top:44px;border-top:1px solid #dce5f2}
.d-answer__questions span{position:relative;display:block;padding:18px 44px 18px 0;border-bottom:1px solid #dce5f2;color:#26344d;font-size:18px;font-weight:700;letter-spacing:-.02em}
.d-answer__questions span::after{content:'↗';position:absolute;right:6px;top:17px;color:#8ba5d4;font-size:15px}

.d-close{position:relative;overflow:hidden;padding:118px 0 124px;background:linear-gradient(135deg,#edf4ff 0%,#f7faff 52%,#eef5ff 100%)}
.d-close::after{content:'';position:absolute;width:520px;height:520px;right:-180px;top:-250px;border:1px solid rgba(47,111,237,.09);border-radius:50%;box-shadow:0 0 0 70px rgba(47,111,237,.025),0 0 0 140px rgba(47,111,237,.018)}
.d-close__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .62fr;gap:90px;align-items:end}
.d-close h2{margin:0;color:var(--d-navy);font-size:clamp(62px,7.2vw,96px);line-height:.94;letter-spacing:-.066em}.d-close h2 span{color:#2f6fed}
.d-close__aside{padding-bottom:8px}.d-close__aside>p{max-width:470px;margin:0;color:#617087;font-size:18px;line-height:1.7}

.section-anchor{position:absolute;display:block;scroll-margin-top:96px}
@media (max-width:620px){.concept-actions{align-items:flex-start;flex-direction:column;gap:16px}}
/* Refined D responsive corrections */
@media (max-width: 1080px){
  .d-hero__grid{grid-template-columns:1fr .82fr;gap:38px}.d-orbit{transform:scale(.9);transform-origin:center right}
  .d-insight__grid{gap:38px}.d-flow__heading{gap:48px}
}
@media (max-width: 920px){
  .d-hero{padding-top:78px}.d-hero__grid,.d-flow__heading,.d-insight__grid,.d-close__grid{grid-template-columns:1fr}
  .d-hero__copy{padding-bottom:0}.d-orbit{width:min(610px,100%);height:480px;margin:10px auto 0;transform:none}
  .d-hero__foot{margin-top:18px}.d-flow__heading>p{max-width:720px}.d-journey{grid-template-columns:repeat(2,1fr);row-gap:54px}.d-journey__rail{display:none}.d-journey article{padding-top:18px}.d-journey__dot{top:-16px}
  .d-attention{min-height:570px}.d-answer{padding-top:20px}.d-close__grid{gap:42px}.d-close__aside{max-width:620px}
}
@media (max-width: 620px){
  .d-hero{padding-top:60px}.d-hero h1{font-size:50px}.d-hero__copy>p:not(.concept-kicker){font-size:18px}.d-orbit{height:390px;margin-top:20px}
  .d-orbit__core{width:142px;height:142px}.d-orbit__core strong{font-size:22px}.d-orbit__core small{max-width:100px;line-height:1.35}
  .d-orbit__node{min-width:92px;padding:10px 12px;border-radius:14px}.d-orbit__node strong{font-size:13px}.d-orbit__node small{display:none}.d-orbit__node--control{min-width:98px}
  .d-orbit__node--sale{left:0;top:43%}.d-orbit__node--invoice{left:30%;top:4%}.d-orbit__node--cash{right:0;top:29%}.d-orbit__node--stock{left:20%;bottom:5%}.d-orbit__node--control{right:0;bottom:9%}
  .d-hero__foot{display:grid;grid-template-columns:1fr}.d-hero__foot span,.d-hero__foot span+span{padding:12px 0;border-left:0;border-bottom:1px solid #e0e8f4}
  .d-flow{padding:88px 0}.d-flow__heading h2{font-size:44px}.d-journey{grid-template-columns:1fr;gap:20px;margin-top:50px}.d-journey article{padding:20px 0 20px 44px;border-top:1px solid #d4e1f5}.d-journey article b{display:none}.d-journey__dot{left:0;top:22px}.d-journey p{max-width:none}
  .d-insight{padding:86px 0}.d-attention{min-height:590px;padding:26px;border-radius:26px}.d-attention__top{display:block}.d-attention__status{display:inline-flex;margin-top:18px}.d-attention__list{margin-top:36px}.d-attention__mini{left:26px;right:26px;bottom:24px}.d-answer h2{font-size:45px}
  .d-close{padding:86px 0}.d-close h2{font-size:58px}.d-close__grid{gap:34px}
}
@media (prefers-reduced-motion: reduce){
  .d-orbit__pulse,.d-orbit__node{animation:none!important}
}

/* v011 — refinamiento fino del hero oficial Flujo.
   Se conserva el concepto y el copy: se ajustan jerarquía, ritmo y organicidad. */
@media (min-width: 1090px){
  .d-hero{
    padding:60px 0 30px;
    /* Primer pliegue completo: el fondo del hero llega al borde inferior del viewport. */
    min-height:calc(100vh - 76px);
    min-height:calc(100svh - 76px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:
      radial-gradient(circle at 86% 18%,rgba(47,111,237,.105),transparent 30%),
      radial-gradient(circle at 69% 76%,rgba(151,196,255,.075),transparent 25%),
      linear-gradient(180deg,#f8fbff 0%,#fff 82%);
  }
  .d-hero__grid{
    width:min(1260px,calc(100vw - 72px));
    grid-template-columns:minmax(0,1.14fr) minmax(510px,.86fr);
    gap:28px;
    align-items:center;
  }
  .d-hero__copy{
    padding:0;
    position:relative;
    z-index:5;
  }
  .d-hero__copy .concept-kicker{
    margin-bottom:18px;
  }
  .d-hero h1{
    max-width:720px;
    font-size:clamp(60px,4.7vw,72px);
    line-height:.965;
    letter-spacing:-.061em;
    text-wrap:balance;
  }
  .d-hero h1 .d-hero__title-main,
  .d-hero h1 .d-hero__title-accent{
    display:block;
  }
  .d-hero h1 .d-hero__title-main{
    color:var(--d-navy);
  }
  .d-hero h1 .d-hero__title-accent{
    max-width:690px;
    margin-top:4px;
    color:var(--d-blue);
  }
  .d-hero__copy>p:not(.concept-kicker){
    max-width:630px;
    margin-top:23px;
    font-size:18px;
    line-height:1.58;
  }
  .d-hero .concept-actions{
    margin-top:24px;
  }

  .d-orbit{
    height:505px;
    margin-right:-4px;
    transform:translateY(0) scale(1.01);
    transform-origin:center;
  }
  .d-orbit::before{
    inset:44px 10px 36px 24px;
    background:radial-gradient(circle at 50% 50%,rgba(47,111,237,.10),rgba(47,111,237,.025) 44%,transparent 70%);
  }
  .d-orbit::after{
    inset:93px 79px 79px 77px;
    border-color:rgba(99,145,238,.14);
    box-shadow:0 0 0 32px rgba(47,111,237,.014);
  }
  .d-orbit__path{
    inset:2px 0 0;
    height:103%;
  }
  .d-orbit__rail{
    stroke-width:2.1;
    stroke-dasharray:none;
    opacity:.30;
  }
  .d-orbit__pulse{
    stroke-width:3.2;
    stroke-dasharray:46 596;
    filter:drop-shadow(0 0 7px rgba(47,111,237,.34));
  }
  .d-orbit__core{
    top:50%;
    width:186px;
    height:186px;
    border-color:rgba(255,255,255,.95);
    background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(244,248,255,.94));
    box-shadow:0 26px 76px rgba(29,73,160,.15),inset 0 0 0 7px rgba(255,255,255,.68);
  }
  .d-orbit__core::before{inset:13px}
  .d-orbit__core strong{font-size:29px}
  .d-orbit__core span,.d-orbit__core small{font-size:10px}

  .d-orbit__node{
    min-width:112px;
    padding:11px 14px 12px;
    border-radius:15px;
    border-color:rgba(210,224,245,.95);
    background:rgba(255,255,255,.965);
    box-shadow:0 13px 36px rgba(40,84,170,.105);
  }
  .d-orbit__node>span{font-size:9px}
  .d-orbit__node strong{font-size:15px}
  .d-orbit__node small{font-size:10px}
  .d-orbit__node--sale{left:1%;top:43%}
  .d-orbit__node--invoice{
    left:35%;top:3%;
    border-color:rgba(210,224,245,.95);
    background:rgba(255,255,255,.965);
    box-shadow:0 13px 36px rgba(40,84,170,.105);
  }
  .d-orbit__node--invoice>span{color:#97a5bb}
  .d-orbit__node--invoice strong{color:#1c2a45}
  .d-orbit__node--invoice small{color:#7b899e}
  .d-orbit__node--invoice::after{content:none}
  .d-orbit__node--cash{right:1%;top:29%}
  .d-orbit__node--stock{left:27%;bottom:4%}
  .d-orbit__node--control{right:3%;bottom:8%;min-width:118px}

  .d-hero__foot{
    width:min(1260px,calc(100vw - 72px));
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:30px;
    margin-top:10px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .d-hero__foot span,
  .d-hero__foot span+span{
    position:relative;
    flex:0 0 auto;
    padding:0 0 0 16px;
    border:0;
    color:#6e7c92;
    font-size:12px;
    font-weight:700;
  }
  .d-hero__foot span::before{
    content:'';
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    transform:translateY(-50%);
    border-radius:50%;
    background:#7fa5f7;
    box-shadow:0 0 0 4px rgba(47,111,237,.055);
  }
}

@media (min-width: 1281px){
  .d-hero h1 .d-hero__title-main{white-space:nowrap}
}

@media (min-width: 1090px) and (max-width: 1280px){
  .d-hero__grid,.d-hero__foot{width:min(1180px,calc(100vw - 54px))}
  .d-hero__grid{grid-template-columns:minmax(0,1fr) minmax(455px,.86fr);gap:22px}
  .d-hero h1{font-size:clamp(56px,4.9vw,66px);max-width:620px}
  .d-hero h1 .d-hero__title-accent{max-width:610px}
  .d-orbit{transform:scale(.93);transform-origin:center right;margin-right:-14px}
}

@media (max-width:1089px){
  .d-hero h1 .d-hero__title-main,
  .d-hero h1 .d-hero__title-accent{display:block}
  .d-hero h1 .d-hero__title-main{color:var(--d-navy)}
  .d-hero h1 .d-hero__title-accent{color:var(--d-blue);margin-top:3px}
}

@media (max-width:620px){
  .d-hero__foot{gap:0}
  .d-hero__foot span,
  .d-hero__foot span+span{
    padding:11px 0 11px 16px;
    border-bottom:1px solid #e0e8f4;
  }
}

/* v013 — pulido del gráfico orbital / “satélites” del hero.
   Objetivo: que el recorrido lateral se sienta más sofisticado, menos diagrama rígido. */
@media (min-width:1090px){
  .d-orbit{
    height:526px;
    margin-right:-18px;
    transform:translateY(2px);
  }
  .d-orbit::before{
    inset:32px 0 24px 10px;
    background:
      radial-gradient(circle at 50% 50%,rgba(47,111,237,.10),rgba(47,111,237,.028) 44%,transparent 72%),
      radial-gradient(circle at 52% 48%,rgba(255,255,255,.55),rgba(255,255,255,0) 58%);
    filter:blur(0);
  }
  .d-orbit::after{
    inset:88px 74px 72px 70px;
    border-color:rgba(99,145,238,.16);
    box-shadow:0 0 0 30px rgba(47,111,237,.015),0 18px 48px rgba(68,108,187,.035);
  }
  .d-orbit__path{
    inset:0;
    width:100%;
    height:100%;
  }
  .d-orbit__rail{
    stroke-width:2.25;
    opacity:.38;
  }
  .d-orbit__pulse{
    stroke-width:3.25;
    stroke-dasharray:82 560;
    filter:drop-shadow(0 0 8px rgba(47,111,237,.32));
  }
  .d-orbit__core{
    width:194px;
    height:194px;
    box-shadow:0 28px 82px rgba(29,73,160,.13), inset 0 0 0 7px rgba(255,255,255,.72);
  }
  .d-orbit__core strong{font-size:28px;}

  .d-orbit__node{
    min-width:120px;
    padding:13px 16px 14px;
    border-radius:20px;
    border-color:rgba(215,227,245,.98);
    background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(249,252,255,.96));
    box-shadow:0 20px 52px rgba(40,84,170,.10), inset 0 1px 0 rgba(255,255,255,.75);
    overflow:visible;
  }
  .d-orbit__node::before,
  .d-orbit__node::after{
    content:'';
    position:absolute;
    pointer-events:none;
  }
  .d-orbit__node::before{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#5c8cf3;
    box-shadow:0 0 0 6px rgba(92,140,243,.11);
    z-index:2;
  }
  .d-orbit__node::after{
    background:linear-gradient(90deg,rgba(92,140,243,.45),rgba(92,140,243,0));
    z-index:1;
  }
  .d-orbit__node>span{font-size:9px; letter-spacing:.16em;}
  .d-orbit__node strong{font-size:15px;}
  .d-orbit__node small{font-size:10px;}

  .d-orbit__node--sale{left:6%;top:42%;}
  .d-orbit__node--sale::before{right:-14px;top:50%;transform:translateY(-50%);}
  .d-orbit__node--sale::after{right:-46px;top:50%;width:46px;height:1px;transform:translateY(-50%);}

  .d-orbit__node--invoice{left:39%;top:2%;}
  .d-orbit__node--invoice::before{left:50%;bottom:-14px;transform:translateX(-50%);}
  .d-orbit__node--invoice::after{left:50%;bottom:-40px;width:1px;height:40px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(92,140,243,.45),rgba(92,140,243,0));}

  .d-orbit__node--cash{right:4%;top:27%;}
  .d-orbit__node--cash::before{left:-14px;top:50%;transform:translateY(-50%);}
  .d-orbit__node--cash::after{left:-46px;top:50%;width:46px;height:1px;transform:translateY(-50%);background:linear-gradient(270deg,rgba(92,140,243,.45),rgba(92,140,243,0));}

  .d-orbit__node--stock{left:26%;bottom:6%;}
  .d-orbit__node--stock::before{left:50%;top:-14px;transform:translateX(-50%);}
  .d-orbit__node--stock::after{left:50%;top:-40px;width:1px;height:40px;transform:translateX(-50%);background:linear-gradient(0deg,rgba(92,140,243,.45),rgba(92,140,243,0));}

  .d-orbit__node--control{right:6%;bottom:10%;min-width:124px;}
  .d-orbit__node--control::before{left:-14px;top:50%;transform:translateY(-50%);}
  .d-orbit__node--control::after{left:-46px;top:50%;width:46px;height:1px;transform:translateY(-50%);background:linear-gradient(270deg,rgba(92,140,243,.45),rgba(92,140,243,0));}
}

/* v014 — movimiento más rico del sistema orbital del hero.
   Animación ambiental: lenta, sutil y accesible. */
@media (min-width:1090px){
  .d-orbit{
    animation:d-orbit-arrive .9s cubic-bezier(.2,.8,.2,1) both;
  }
  .d-orbit__pulse{
    stroke-dasharray:70 572;
    animation:d-orbit-pulse 5.8s linear infinite;
  }

  .d-orbit__core{
    animation:d-core-arrive .75s .18s cubic-bezier(.2,.85,.25,1) both;
  }
  .d-orbit__core::after{
    content:'';
    position:absolute;
    inset:-18px;
    border-radius:50%;
    background:conic-gradient(from 0deg,
      rgba(47,111,237,0) 0 18%,
      rgba(47,111,237,.22) 25%,
      rgba(47,111,237,0) 34% 64%,
      rgba(125,168,255,.17) 72%,
      rgba(47,111,237,0) 82% 100%);
    -webkit-mask:radial-gradient(circle,transparent 0 74%,#000 75% 78%,transparent 79%);
    mask:radial-gradient(circle,transparent 0 74%,#000 75% 78%,transparent 79%);
    opacity:.72;
    pointer-events:none;
  }

  .d-orbit__node{
    transition:box-shadow .3s ease,border-color .3s ease,background .3s ease;
  }
  .d-orbit__node:hover{
    border-color:rgba(122,162,246,.66);
    box-shadow:0 24px 64px rgba(40,84,170,.16),inset 0 1px 0 rgba(255,255,255,.84);
  }

  .d-orbit__node--sale{
    animation:d-node-enter-left .72s .28s cubic-bezier(.2,.85,.25,1) both;
  }
  .d-orbit__node--invoice{
    animation:d-node-enter-top .72s .36s cubic-bezier(.2,.85,.25,1) both;
  }
  .d-orbit__node--cash{
    animation:d-node-enter-right .72s .44s cubic-bezier(.2,.85,.25,1) both;
  }
  .d-orbit__node--stock{
    animation:d-node-enter-bottom .72s .52s cubic-bezier(.2,.85,.25,1) both;
  }
  .d-orbit__node--control{
    animation:d-node-enter-right .72s .60s cubic-bezier(.2,.85,.25,1) both;
  }

  @keyframes d-orbit-arrive{
    from{opacity:0;transform:translateY(14px) scale(.975)}
    to{opacity:1;transform:translateY(2px) scale(1)}
  }
  @keyframes d-core-arrive{
    from{opacity:0;transform:translate(-50%,-50%) scale(.9)}
    to{opacity:1;transform:translate(-50%,-50%) scale(1)}
  }
  @keyframes d-node-enter-left{
    from{opacity:0;transform:translate3d(-18px,5px,0) scale(.96)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes d-node-enter-right{
    from{opacity:0;transform:translate3d(18px,5px,0) scale(.96)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes d-node-enter-top{
    from{opacity:0;transform:translate3d(0,-16px,0) scale(.96)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
  @keyframes d-node-enter-bottom{
    from{opacity:0;transform:translate3d(0,16px,0) scale(.96)}
    to{opacity:1;transform:translate3d(0,0,0) scale(1)}
  }
}

/* v015 — directory editorial de subproductos dentro de la Home Flujo. */
.d-products{padding:118px 0 124px;background:#fff}
.d-products__head{display:grid;grid-template-columns:1.15fr .62fr;gap:88px;align-items:end;margin-bottom:64px}
.d-products__head h2{max-width:780px;margin:0;color:var(--d-navy);font-size:clamp(48px,5.25vw,72px);line-height:1.01;letter-spacing:-.055em}
.d-products__head>p{max-width:470px;margin:0 0 5px;color:#64738b;font-size:17px;line-height:1.7}
.d-products__list{border-top:1px solid #dce5f2}
.d-products__list a{display:grid;grid-template-columns:58px minmax(210px,.72fr) 1.25fr 24px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid #dce5f2;text-decoration:none;transition:padding .18s ease,background .18s ease}
.d-products__list a:hover{padding-left:10px;background:linear-gradient(90deg,rgba(47,111,237,.035),transparent 74%)}
.d-products__list span{color:#9ca9bd;font-size:10px;font-weight:800;letter-spacing:.13em}
.d-products__list strong{color:#1b2944;font-size:20px;letter-spacing:-.025em}
.d-products__list small{color:#6d7a90;font-size:13px;line-height:1.65}
.d-products__list i{color:#7ca1ef;font-style:normal;font-size:17px}
.d-products__foot{display:flex;align-items:center;gap:26px;margin-top:34px}
@media(max-width:920px){.d-products{padding:88px 0}.d-products__head{grid-template-columns:1fr;gap:24px}.d-products__head>p{max-width:720px}.d-products__list a{grid-template-columns:44px 1fr 24px}.d-products__list small{grid-column:2/3}.d-products__foot{margin-top:28px}}
@media(max-width:620px){.d-products__head h2{font-size:44px}.d-products__list a{grid-template-columns:36px 1fr 20px;gap:14px;padding:20px 0}.d-products__list strong{font-size:18px}.d-products__foot{align-items:flex-start;flex-direction:column}}

/* v016 — integraciones + escalera de aislamiento en Home, sin exponer arquitectura interna. */
.d-connect{padding:118px 0;background:linear-gradient(180deg,#fff 0%,#f7faff 100%)}
.d-connect__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:94px;align-items:center}
.d-connect__intro h2{max-width:620px;margin:0;color:var(--d-navy);font-size:clamp(46px,4.8vw,66px);line-height:1.02;letter-spacing:-.055em}
.d-connect__intro h2 span{color:var(--d-blue)}
.d-connect__intro>p:not(.concept-kicker){max-width:590px;margin:24px 0;color:#65748b;font-size:17px;line-height:1.72}
.d-connect__paths{border-top:1px solid #dce5f2}
.d-connect__paths a{display:grid;grid-template-columns:minmax(150px,.55fr) 1fr 24px;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid #dce5f2;text-decoration:none}
.d-connect__paths b{color:#1b2944;font-size:19px;letter-spacing:-.025em}.d-connect__paths span{color:#6d7a90;font-size:13px}.d-connect__paths i{color:#7ca1ef;font-style:normal}
.d-deploy{padding:118px 0 124px;background:#eef5ff}
.d-deploy__head{display:grid;grid-template-columns:1.1fr .62fr;gap:88px;align-items:end}
.d-deploy__head h2{max-width:760px;margin:0;color:var(--d-navy);font-size:clamp(46px,4.9vw,68px);line-height:1.01;letter-spacing:-.055em}.d-deploy__head h2 span{color:var(--d-blue)}
.d-deploy__head>p{max-width:470px;margin:0;color:#64738b;font-size:17px;line-height:1.7}
.d-deploy__rail{display:grid;grid-template-columns:repeat(5,1fr);margin-top:68px;border:1px solid #d2e0f3;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.55)}
.d-deploy__rail a{min-height:210px;padding:26px 24px;border-right:1px solid #d2e0f3;text-decoration:none;transition:background .18s ease,transform .18s ease}.d-deploy__rail a:last-child{border-right:0}.d-deploy__rail a:hover{background:#fff;transform:translateY(-2px)}
.d-deploy__rail span{display:block;color:#98a8bf;font-size:10px;font-weight:800;letter-spacing:.13em}.d-deploy__rail strong{display:block;margin-top:30px;color:#1b2944;font-size:18px;line-height:1.25;letter-spacing:-.025em}.d-deploy__rail small{display:block;margin-top:12px;color:#6d7a90;font-size:12px;line-height:1.6}
.d-deploy__actions{display:flex;align-items:center;gap:26px;margin-top:32px}
@media(max-width:920px){.d-connect{padding:88px 0}.d-connect__grid,.d-deploy__head{grid-template-columns:1fr;gap:34px}.d-deploy{padding:88px 0}.d-deploy__rail{grid-template-columns:1fr 1fr}.d-deploy__rail a{min-height:160px;border-bottom:1px solid #d2e0f3}.d-deploy__rail a:nth-child(2n){border-right:0}}
@media(max-width:620px){.d-connect__intro h2,.d-deploy__head h2{font-size:44px}.d-connect__paths a{grid-template-columns:1fr 20px}.d-connect__paths span{grid-column:1/2}.d-deploy__rail{grid-template-columns:1fr}.d-deploy__rail a{border-right:0}.d-deploy__actions{align-items:flex-start;flex-direction:column}}

/* Mature product evidence */
.d-proof { padding: 112px 0 118px; background: #fff; }
.d-proof__head {
    display: grid;
    grid-template-columns: 1.05fr .75fr;
    gap: 88px;
    align-items: end;
    margin-bottom: 54px;
}
.d-proof__head h2 {
    margin: 0;
    color: var(--navy);
    font-size: clamp(46px, 5.2vw, 70px);
    line-height: 1.01;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.d-proof__head > p { max-width: 520px; margin: 0 0 5px; color: #68768c; font-size: 17px; line-height: 1.72; }
.d-proof__frame {
    margin: 0;
    overflow: hidden;
    border: 1px solid #d8e3f1;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 34px 90px rgba(21,34,60,.11);
}
.d-proof__chrome {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 16px;
    border-bottom: 1px solid #e4eaf2;
    background: #f8fafc;
}
.d-proof__chrome span { width: 9px; height: 9px; border-radius: 50%; background: #c8d1df; }
.d-proof__chrome b { margin-left: 8px; color: #75839a; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.d-proof__frame img { width: 100%; height: auto; }
.d-proof__frame figcaption { padding: 14px 18px 16px; border-top: 1px solid #e7edf5; color: #6f7d91; font-size: 13px; }
.d-proof__links { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-top: 1px solid #dfe7f2; }
.d-proof__links a { display: flex; justify-content: space-between; gap: 18px; padding: 18px 4px; border-bottom: 1px solid #dfe7f2; color: var(--navy); font-size: 14px; font-weight: 750; text-decoration: none; }
.d-proof__links a:hover { color: var(--blue); }
.d-proof__links a + a { margin-left: 28px; }

/* Mature onboarding story */
.d-implementation { padding: 112px 0; background: #fff; }
.d-implementation__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 88px; align-items: center; }
.d-implementation h2 { margin: 0; color: var(--navy); font-size: clamp(46px, 5.1vw, 68px); line-height: 1.02; letter-spacing: -.055em; text-wrap: balance; }
.d-implementation p:not(.concept-kicker) { max-width: 560px; margin: 24px 0 20px; color: #68768c; font-size: 17px; line-height: 1.72; }
.d-implementation__steps { border-top: 1px solid #dfe7f2; }
.d-implementation__steps article { display: grid; grid-template-columns: 48px 180px 1fr; gap: 18px; align-items: baseline; padding: 24px 0; border-bottom: 1px solid #dfe7f2; }
.d-implementation__steps span { color: #9aa8bb; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.d-implementation__steps strong { color: var(--navy); font-size: 18px; letter-spacing: -.02em; }
.d-implementation__steps small { color: #738096; font-size: 13px; line-height: 1.55; }

@media (max-width: 920px) {
    .d-proof__head, .d-implementation__grid { grid-template-columns: 1fr; gap: 30px; }
    .d-proof__links { grid-template-columns: 1fr; }
    .d-proof__links a + a { margin-left: 0; }
}
@media (max-width: 620px) {
    .d-proof, .d-implementation { padding: 82px 0; }
    .d-proof__frame { border-radius: 18px; }
    .d-proof__frame img { min-height: 260px; object-fit: cover; object-position: left top; }
    .d-implementation__steps article { grid-template-columns: 36px 1fr; gap: 10px 14px; }
    .d-implementation__steps small { grid-column: 2; }
}

/* Mobile maturity hardening — no horizontal crop in hero/orbit. */
@media (max-width:620px){
  .home-flow{overflow-x:hidden}
  .d-hero__grid,.d-hero__copy{min-width:0;max-width:100%}
  .d-hero h1{max-width:100%;font-size:clamp(40px,11.5vw,46px);letter-spacing:-.055em;overflow-wrap:normal}
  .d-hero h1 .d-hero__title-main,
  .d-hero h1 .d-hero__title-accent{white-space:normal!important;max-width:100%}
  .d-orbit{max-width:100%;overflow:hidden}
}


/* Mature solution discovery — scenario-led entry points. */
.d-solutions { padding: 118px 0; background: linear-gradient(180deg,#f7faff 0%,#fff 100%); }
.d-solutions__head { display:grid; grid-template-columns:1.05fr .72fr; gap:88px; align-items:end; margin-bottom:54px; }
.d-solutions__head h2 { margin:0; color:var(--d-navy); font-size:clamp(46px,5vw,68px); line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.d-solutions__head > p { max-width:520px; margin:0 0 5px; color:#68768c; font-size:17px; line-height:1.72; }
.d-solutions__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.d-solutions__grid a { min-height:280px; display:flex; flex-direction:column; padding:28px; border:1px solid #d9e4f2; border-radius:24px; background:rgba(255,255,255,.92); color:var(--d-navy); text-decoration:none; box-shadow:0 18px 48px rgba(21,34,60,.035); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.d-solutions__grid a:hover { transform:translateY(-3px); border-color:#b7ccf2; box-shadow:0 26px 64px rgba(47,111,237,.08); }
.d-solutions__grid span { color:#9aa8ba; font-size:10px; font-weight:800; letter-spacing:.12em; }
.d-solutions__grid strong { margin-top:62px; font-size:27px; line-height:1.12; letter-spacing:-.04em; }
.d-solutions__grid small { margin-top:14px; color:#68768c; font-size:14px; line-height:1.65; }
.d-solutions__grid i { margin-top:auto; padding-top:28px; color:var(--d-blue); font-style:normal; font-size:19px; }
.d-solutions__all { display:inline-flex; margin-top:30px; }
@media(max-width:920px){ .d-solutions{padding:88px 0}.d-solutions__head{grid-template-columns:1fr;gap:24px}.d-solutions__grid{grid-template-columns:1fr}.d-solutions__grid a{min-height:220px} }
@media(max-width:620px){ .d-solutions__head h2{font-size:44px}.d-solutions__grid strong{margin-top:38px;font-size:24px} }


/* Mature trust layer — visible before deployment details. */
.d-trust { padding: 112px 0; background:#fff; }
.d-trust__head { display:grid; grid-template-columns:1.05fr .72fr; gap:88px; align-items:end; margin-bottom:52px; }
.d-trust__head h2 { max-width:760px; margin:0; color:var(--d-navy); font-size:clamp(46px,5vw,68px); line-height:1.02; letter-spacing:-.055em; text-wrap:balance; }
.d-trust__head > p { max-width:520px; margin:0 0 5px; color:#68768c; font-size:17px; line-height:1.72; }
.d-trust__grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #dce5f2; border-bottom:1px solid #dce5f2; }
.d-trust__grid article { min-height:220px; padding:28px 24px; border-right:1px solid #dce5f2; }
.d-trust__grid article:last-child { border-right:0; }
.d-trust__grid span { display:block; color:#9aa8ba; font-size:10px; font-weight:800; letter-spacing:.12em; }
.d-trust__grid strong { display:block; margin-top:46px; color:var(--d-navy); font-size:19px; letter-spacing:-.025em; }
.d-trust__grid small { display:block; margin-top:12px; color:#6f7d91; font-size:13px; line-height:1.65; }
.d-trust__link { display:inline-flex; margin-top:28px; }
@media(max-width:920px){ .d-trust{padding:88px 0}.d-trust__head{grid-template-columns:1fr;gap:24px}.d-trust__grid{grid-template-columns:1fr 1fr}.d-trust__grid article:nth-child(2){border-right:0}.d-trust__grid article:nth-child(-n+2){border-bottom:1px solid #dce5f2} }
@media(max-width:620px){ .d-trust__head h2{font-size:44px}.d-trust__grid{grid-template-columns:1fr}.d-trust__grid article{min-height:0;border-right:0;border-bottom:1px solid #dce5f2}.d-trust__grid article:last-child{border-bottom:0}.d-trust__grid strong{margin-top:26px} }

/* Mobile hardening — never clip hero copy. */
@media (max-width:620px){
  .d-hero__copy{min-width:0;max-width:100%}
  .d-hero h1{max-width:100%;font-size:clamp(42px,11.4vw,50px);overflow-wrap:normal;word-break:normal}
  .d-hero h1 .d-hero__title-main,
  .d-hero h1 .d-hero__title-accent{white-space:normal!important;max-width:100%}
  .d-hero__copy>p:not(.concept-kicker){max-width:100%}
}

@media (max-width:620px){
  .d-hero h1{font-size:40px!important;line-height:1.01!important;max-inline-size:100%!important;min-width:0!important;}
  .d-hero h1 .d-hero__title-main,
  .d-hero h1 .d-hero__title-accent{display:block!important;white-space:normal!important;max-inline-size:100%!important;min-width:0!important;overflow-wrap:anywhere!important;word-break:normal!important;}
}

@media (max-width:620px){
  .d-hero__grid{grid-template-columns:minmax(0,1fr)!important;width:calc(100vw - 28px)!important;max-width:calc(100vw - 28px)!important;}
  .d-hero__copy{width:100%!important;min-width:0!important;}
  .d-orbit{min-width:0!important;max-width:100%!important;}
}
