/* =====================================================================
   G Digital Ally v1.0 — home.css (solo index.html)
   Hero con red de nodos, rutas de usuario, proyectos destacados,
   forma de trabajar, testimonios (estado honesto) y portal futuro.
   ===================================================================== */

/* ---------- Hero ---------- */
.hero{background:radial-gradient(ellipse at 87% 19%,rgba(9,109,164,.22),transparent 43%),linear-gradient(135deg,#06182b 0%,#09223c 58%,#071a30 100%);color:#fff;overflow:hidden;position:relative;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.7;pointer-events:none;z-index:-1}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,41,.76) 0%,rgba(6,23,41,.4) 55%,rgba(6,23,41,.1) 100%);pointer-events:none;z-index:-1}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:min(680px,calc(100vh - var(--header-h)));gap:34px;padding-block:56px 64px}
.hero-copy{max-width:650px}
.hero-copy h1{margin-bottom:24px}
.hero-copy .lead{max-width:580px;color:#c2d3e3;margin-bottom:31px}
.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}
.hero-note{margin:34px 0 0;display:flex;align-items:center;gap:14px;color:#9ab6cd;font-size:.82rem}
.hero-note::before{content:"";width:45px;height:1px;background:#49b3e0}

.hero-visual{height:470px;position:relative;display:flex;align-items:center;justify-content:center}
.orb-halo{position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(48,192,242,.12);box-shadow:0 0 100px rgba(0,120,237,.09),inset 0 0 70px rgba(0,140,230,.07);animation:float-orb 10s ease-in-out infinite}
.orb-halo::before,.orb-halo::after{content:"";position:absolute;border-radius:50%;inset:35px;border:1px dashed rgba(97,201,248,.2)}
.orb-halo::after{inset:75px;border-style:solid;border-color:rgba(75,189,243,.13)}
.tech-center{position:relative;z-index:2;width:278px;height:278px;border:1px solid rgba(136,228,255,.23);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(9,99,167,.35),rgba(7,32,59,.82));box-shadow:0 15px 100px rgba(0,136,238,.15),inset 0 0 75px rgba(43,147,221,.08)}
.tech-center img{width:238px;filter:drop-shadow(0 8px 25px rgba(0,183,255,.14))}
.float-pill{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;border:1px solid rgba(142,216,255,.22);background:rgba(11,42,72,.8);border-radius:13px;color:#dff7ff;padding:11px 14px;box-shadow:0 15px 38px rgba(0,0,0,.12);font-size:.78rem;font-weight:770;animation:float-orb 7s ease-in-out infinite}
.float-pill .icon{color:#45d6f4;width:18px;height:18px}
.pill-one{top:62px;left:14px}
.pill-two{top:150px;right:-4px;animation-delay:-2s}
.pill-three{bottom:74px;left:14px;animation-delay:-4s}
.orb-dot{width:9px;height:9px;background:#32d6fa;border-radius:50%;box-shadow:0 0 18px #0ab8ef;position:absolute;z-index:2}
.dot1{top:35px;left:52%}.dot2{bottom:39px;right:27px}.dot3{bottom:100px;left:45px}
@keyframes float-orb{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ---------- Rutas de usuario ---------- */
.section-pathways{position:relative;background:radial-gradient(ellipse at 8% 0%,#e8f7ff 0%,transparent 48%),linear-gradient(180deg,#fff,#fbfdff);overflow:hidden}
.section-pathways::before{content:"";position:absolute;top:9%;right:-115px;width:290px;height:290px;border:1px solid rgba(18,164,220,.1);border-radius:50%;box-shadow:0 0 0 40px rgba(18,164,220,.035),0 0 0 85px rgba(18,164,220,.025);pointer-events:none}
.section-pathways .section-intro{max-width:780px;position:relative}
.section-pathways .section-intro h2{font-size:clamp(2.2rem,4.25vw,3.8rem)}
.pair-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:23px;position:relative}
.audience-card{position:relative;min-height:258px;padding:37px 36px;border-radius:25px;border:1px solid rgba(24,129,188,.15);box-shadow:0 22px 55px rgba(26,74,113,.075);overflow:hidden;display:flex;gap:22px;align-items:center;transition:transform .25s,box-shadow .25s,border-color .25s}
.audience-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#8ad1f5}
.audience-card::after{content:"↗";position:absolute;right:30px;top:24px;font-size:1.7rem;font-weight:500;color:#2b8cba;transition:transform .3s}
.audience-card:hover::after{transform:translate(4px,-4px)}
.audience-card .circle-icon{height:68px;width:68px;border-radius:22px;display:grid;place-items:center;background:#e4f4fd;color:#0778bf;flex-shrink:0}
.audience-card h3{font-size:1.5rem;max-width:320px;margin:3px 0 9px}
.audience-card p{font-size:.96rem;max-width:360px;margin-bottom:16px}
.audience-light{background:linear-gradient(125deg,#fff 40%,#e9f8ff 100%);color:var(--ink)}
.audience-dark{background:linear-gradient(135deg,#0b2b4b,#0f426b);border-color:#1e6a9b;color:#fff}
.audience-dark p{color:#c6dbea}
.audience-dark .circle-icon{background:rgba(74,202,255,.13);color:#7ce7ff;border:1px solid rgba(108,219,255,.22)}
.audience-dark .link-arrow,.audience-dark::after{color:#8beaff}

/* ---------- Proyectos destacados ---------- */
.projects-editorial{background:#f6fafc;position:relative;overflow:hidden}
.projects-editorial::before{content:"";position:absolute;width:510px;height:510px;left:-330px;top:25%;border:1px solid rgba(7,125,187,.1);border-radius:50%;pointer-events:none}
.projects-heading{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:65px;margin-bottom:45px;position:relative}
.projects-heading h2{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.063em;margin-bottom:0}
.projects-heading p{margin:0 0 9px;line-height:1.7;max-width:355px}
.project-showcase{display:grid;grid-template-columns:1.08fr .92fr;gap:23px;align-items:stretch;position:relative}
.feature-project{position:relative;min-height:515px;border-radius:27px;overflow:hidden;display:block;isolation:isolate;transition:box-shadow .25s,transform .25s}
.feature-project:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.feature-project-text{position:absolute;z-index:3;left:37px;right:37px;top:39px}
.feature-project .overline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px}
.feature-project .overline-num{font-size:.71rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.feature-project h3{font-size:clamp(2.5rem,4.3vw,4.4rem);letter-spacing:-.06em;line-height:.99;margin-bottom:15px}
.feature-project p{max-width:300px;font-size:.94rem;line-height:1.55;margin-bottom:23px}
.feature-cta{font-size:.87rem;font-weight:800;display:inline-flex;align-items:center;gap:11px}
.feature-dark{background:radial-gradient(circle at 72% 76%,rgba(19,148,205,.38),transparent 49%),linear-gradient(145deg,#071a2e,#0c385d 78%);color:#fff}
.feature-dark::before{content:"";position:absolute;right:-105px;bottom:-150px;width:540px;height:540px;border:1px solid rgba(133,221,255,.17);border-radius:50%;box-shadow:0 0 0 55px rgba(30,158,223,.035),0 0 0 115px rgba(30,158,223,.025)}
.feature-dark .overline-num{color:#86daf9}.feature-dark p{color:#c7d9e8}.feature-dark .feature-cta{color:#8ee7ff}
.feature-light{background:linear-gradient(160deg,#dff4f9 0%,#f7fcff 48%,#eaf1ed 100%);border:1px solid rgba(24,113,144,.17);color:#103149}
.feature-light::before{content:"";position:absolute;width:480px;height:480px;right:-230px;bottom:-185px;border-radius:50%;background:radial-gradient(circle,#8bc9d1 0%,transparent 65%);opacity:.27}
.feature-light .overline-num{color:#136f91}.feature-light p{color:#3f6577}.feature-light .feature-cta{color:#0f6588}
.feature-project-display{position:absolute;inset:0;pointer-events:none}
.feature-project-display img{position:absolute;right:-6%;bottom:-8%;width:70%;border-radius:14px;box-shadow:var(--shadow-lg);transform:rotate(-6deg)}

/* Composición "device" */
.device-shell{position:absolute;left:43%;bottom:-64px;width:430px;height:286px;transform:rotate(-8deg);background:#071d32;border:8px solid #163c5d;border-radius:19px;box-shadow:0 22px 65px rgba(0,0,0,.42),0 0 0 1px rgba(135,231,255,.22);overflow:hidden;transition:transform .35s}
.feature-project:hover .device-shell{transform:rotate(-5deg) translateY(-10px)}
.device-toolbar{height:34px;background:#0a233e;display:flex;gap:5px;align-items:center;padding:0 13px;color:#6ba8cc;font-size:.66rem}
.device-toolbar i{display:block;width:6px;height:6px;border-radius:50%;background:#4380a3}.device-toolbar span{margin-left:10px}
.device-screen{height:calc(100% - 34px);padding:34px 28px;background:linear-gradient(130deg,#0b3857,#156f92);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.device-kicker{font-size:.63rem;letter-spacing:.22em;color:#a3e9fa;font-weight:700}
.device-display-title{color:#fff;font-size:1.75rem;line-height:1.1;font-weight:750;letter-spacing:-.05em}
.device-display-bars{display:flex;gap:8px;margin-top:10px}.device-display-bars b{width:48px;height:5px;border-radius:10px;background:#9ddcee}.device-display-bars b:nth-child(2){width:30px;opacity:.5}.device-display-bars b:nth-child(3){width:20px;opacity:.28}
/* Composición "property" */
.property-display{position:absolute;bottom:-48px;right:-25px;width:78%;min-width:300px;height:250px;background:#fff;border-radius:15px;box-shadow:0 20px 60px rgba(25,80,101,.19);transform:rotate(7deg);overflow:hidden;transition:transform .3s}
.feature-project:hover .property-display{transform:rotate(4deg) translateY(-10px)}
.property-header{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;background:#133950;color:#fff;font-size:.67rem;font-weight:800;letter-spacing:.08em}
.property-header span:last-child{font-weight:500;letter-spacing:0;color:#a5d7e4}
.property-shape{height:120px;background:linear-gradient(135deg,#b4dce7,#e8f0ec);margin:18px;border-radius:7px;display:flex;align-items:flex-end;gap:8px;padding:0 35px}
.property-shape i{height:65px;background:#72a4b4;flex:1;border-radius:6px 6px 0 0}.property-shape i:nth-child(2){height:90px;background:#43768b}.property-shape i:nth-child(3){height:51px;background:#97c5cd}
.property-lines{display:flex;flex-direction:column;gap:7px;margin:0 20px}.property-lines i{height:6px;border-radius:5px;background:#d8e6ec;width:70%}.property-lines i:last-child{width:39%}

.projects-endline{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;margin-top:32px;flex-wrap:wrap;position:relative}
.projects-endline p{font-size:.92rem;margin:0;max-width:470px}

/* ---------- Forma de trabajar ---------- */
.value-section{background:radial-gradient(circle at 91% 25%,rgba(14,120,172,.25),transparent 42%),linear-gradient(145deg,#071b30,#0d304e 72%,#09233c);color:#fff;position:relative;overflow:hidden}
.value-section::before{content:"SERVICIO";font-size:clamp(7rem,22vw,24rem);font-weight:900;letter-spacing:-.09em;line-height:1;position:absolute;right:-3%;top:-1%;color:rgba(140,220,255,.025);pointer-events:none}
.value-section h2{font-size:clamp(2.5rem,5.2vw,4.9rem);line-height:1.08;max-width:950px;position:relative;letter-spacing:-.056em}
.value-section .lead{color:#b4cce0;max-width:690px;position:relative}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:70px 0 0;padding:0;list-style:none;border-top:1px solid rgba(148,223,255,.22);position:relative}
.value-step{padding:30px 35px 13px 0;position:relative}
.value-step::before{content:"";position:absolute;left:0;top:-6px;width:11px;height:11px;background:#42d2ee;border-radius:50%;box-shadow:0 0 0 7px rgba(66,210,238,.08)}
.value-step .step-no{font-weight:800;color:#62cdec;font-size:.72rem;letter-spacing:.13em}
.value-step h3{font-size:1.36rem;max-width:250px;margin:18px 0 10px}
.value-step p{font-size:.9rem;max-width:260px;line-height:1.7;margin:0;color:#b4cce0}
.proof-band{display:flex;align-items:center;justify-content:space-between;gap:14px 26px;padding:22px 24px;border:1px solid rgba(150,212,248,.19);border-radius:14px;margin-top:54px;color:#bad6e7;font-size:.86rem;background:rgba(123,199,240,.06);position:relative}
.proof-band strong{color:#fff}
.proof-band .link-arrow{color:#88e7ff}

/* ---------- Testimonios (estado honesto) ---------- */
.trust-section{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 80%,#e0f6fc 0%,transparent 46%),#fff}
.trust-section::before{content:"";width:420px;height:420px;border:1px solid rgba(18,165,211,.08);border-radius:50%;position:absolute;top:-280px;right:-100px;box-shadow:0 0 0 58px rgba(18,165,211,.025),0 0 0 122px rgba(18,165,211,.016)}
.trust-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:8%;align-items:center;position:relative}
.trust-copy h2{font-size:clamp(2.3rem,4.4vw,4.1rem);letter-spacing:-.055em;max-width:560px}
.trust-copy p{max-width:460px;font-size:1.03rem}
.partner-note{display:flex;align-items:flex-start;gap:12px;margin-top:30px;padding-top:21px;border-top:1px solid #dcecf3;color:#5d7889;font-size:.84rem;max-width:440px}
.partner-dot{height:12px;width:12px;background:#1bb5d2;border:4px solid #d4f6fc;box-sizing:content-box;border-radius:50%;flex-shrink:0;margin-top:2px}
.testimonial-stage{min-height:340px;border:1px solid rgba(24,104,147,.16);border-radius:30px;padding:52px 47px 42px;background:linear-gradient(130deg,#0b2a47,#133f60 80%);color:#fff;box-shadow:0 30px 70px rgba(15,67,97,.17);position:relative;overflow:hidden}
.testimonial-stage::after{content:"";position:absolute;width:270px;height:270px;right:-95px;bottom:-170px;border:1px solid rgba(123,220,250,.25);border-radius:50%;box-shadow:0 0 0 42px rgba(123,220,250,.035),0 0 0 95px rgba(123,220,250,.02)}
.quote-art{font-family:Georgia,serif;font-size:10rem;position:absolute;right:30px;top:-40px;line-height:1;color:rgba(56,202,245,.16)}
.testimonial-tag{text-transform:uppercase;letter-spacing:.17em;font-size:.68rem;color:#7de1f6;font-weight:800;display:block;margin-bottom:32px;position:relative}
.testimonial-stage h3{font-size:clamp(1.6rem,2.5vw,2.4rem);letter-spacing:-.035em;max-width:470px;position:relative}
.testimonial-stage p{color:#b6d4e7;font-size:.95rem;max-width:430px;position:relative}
.testimonial-progress{display:flex;gap:7px;margin-top:30px}.testimonial-progress span{display:block;width:38px;height:3px;background:#22bfe4;border-radius:3px}.testimonial-progress span~span{width:13px;background:rgba(255,255,255,.22)}
/* Plantilla para testimonios verificados (ver docs/GUIA_CONTENIDOS.md) */
.testimonial-quote{margin:0;position:relative}
.testimonial-quote blockquote{margin:0 0 22px;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.45;letter-spacing:-.02em;color:#fff}
.testimonial-quote figcaption{color:#9fd3ea;font-size:.88rem}
.logo-strip{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;margin-top:26px}
.logo-strip img{height:34px;width:auto;filter:grayscale(1);opacity:.75}

/* ---------- Portal futuro ---------- */
.portal-band{background:linear-gradient(118deg,#e9f7ff,#f8fcff 55%,#dff2ff);position:relative;overflow:hidden}
.portal-band::before{content:"";width:580px;height:580px;border-radius:50%;position:absolute;left:-365px;bottom:-380px;border:1px solid rgba(14,143,207,.2);box-shadow:0 0 0 65px rgba(14,143,207,.035)}
.portal-layout{display:grid;grid-template-columns:.94fr 1.06fr;gap:66px;align-items:center;position:relative;z-index:1}
.portal-copy h2{font-size:clamp(2.2rem,4.15vw,4rem)}
.portal-copy p{max-width:490px}
.portal-preview{background:#fff;border:1px solid #d8e5ef;border-radius:22px;box-shadow:0 28px 90px rgba(23,89,131,.15);overflow:hidden;transform:rotate(1.2deg);transition:transform .3s}
.portal-preview:hover{transform:rotate(0) translateY(-4px)}
.preview-bar{height:41px;background:#0e2a47;display:flex;gap:7px;align-items:center;padding:0 16px}
.preview-bar i{display:block;width:7px;height:7px;border-radius:50%;background:#3f7299}
.preview-content{padding:25px}
.preview-small{font-size:.7rem;letter-spacing:.08em;color:#52708a;text-transform:uppercase;font-weight:800}
.preview-content h3{font-size:1.18rem;margin:9px 0 18px}
.preview-tile{border:1px solid #e3ecf2;border-radius:12px;padding:14px 16px;margin:12px 0;display:flex;align-items:center;gap:14px;font-size:.92rem}
.preview-tile .icon{color:#178aca}
.preview-tile .preview-right{height:7px;background:#e2edf5;border-radius:99px;width:76px;margin-left:auto}

/* ---------- Responsive ---------- */
@media (max-width:1050px){
  .device-shell{width:360px;left:30%}
  .property-display{right:-65px}
  .feature-project{min-height:480px}
  .projects-heading{gap:30px}
  .hero-inner{grid-template-columns:1fr .8fr}
  .hero-visual{transform:scale(.8)}
}
@media (max-width:880px){
  .hero-inner{grid-template-columns:1fr;gap:0;min-height:0;padding-block:64px 40px}
  .hero::after{background:linear-gradient(180deg,rgba(6,23,41,.38),rgba(6,23,41,.07))}
  .hero-visual{height:360px;transform:scale(.78);margin-top:-10px}
  .pair-grid,.projects-heading,.project-showcase,.trust-layout,.portal-layout{grid-template-columns:1fr}
  .audience-card{min-height:210px}
  .projects-heading{gap:15px}
  .projects-heading p{max-width:580px}
  .feature-project{min-height:460px}
  .trust-layout{gap:36px}
  .portal-layout{gap:40px}
  .portal-preview{transform:none;max-width:580px}
  .proof-band{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  .value-grid{grid-template-columns:1fr;margin-top:44px;border-top:0;border-left:1px solid rgba(148,223,255,.22);margin-left:6px}
  .value-step{padding:0 4px 32px 25px}
  .value-step::before{left:-6px;top:5px}
  .value-step h3{margin-top:10px}
}
@media (max-width:560px){
  .hero-inner{padding-block:52px 24px}
  .hero-buttons .btn{width:100%}
  .hero-visual{height:270px;transform:scale(.6);margin:-34px 0 -24px}
  .audience-card{padding:26px 22px;min-height:0;flex-direction:column;align-items:flex-start;gap:16px}
  .audience-card h3{font-size:1.25rem;padding-right:24px}
  .audience-card .circle-icon{width:50px;height:50px;border-radius:15px}
  .audience-card::after{right:18px;top:16px}
  .feature-project{min-height:430px}
  .feature-project-text{left:24px;right:22px;top:30px}
  .feature-project h3{font-size:2.8rem}
  .feature-project p{max-width:270px;font-size:.88rem}
  .device-shell{width:280px;height:190px;left:30%;bottom:-51px;border-width:5px}
  .device-screen{padding:14px 16px}
  .device-display-title{font-size:1.1rem}
  .device-toolbar{height:24px}
  .property-display{width:290px;height:165px;min-width:0;right:-45px;bottom:-40px}
  .property-shape{height:67px;margin:10px 13px}
  .property-header{height:30px}
  .property-lines{margin:0 13px}
  .testimonial-stage{padding:42px 26px 34px;min-height:0}
  .testimonial-tag{margin-bottom:24px}
}
@media (prefers-reduced-motion:reduce){
  .orb-halo,.float-pill{animation:none}
  .feature-project:hover,.feature-project:hover .device-shell,.feature-project:hover .property-display,.portal-preview:hover,.audience-card:hover{transform:none}
}
/* Ajuste v1.0.1: la composición de DJLG baja un poco para no tapar «Conocer el proyecto» */
.property-display{bottom:-72px}
@media (max-width:1050px) and (min-width:881px){.property-display{bottom:-100px}}
@media (max-width:880px) and (min-width:561px){.property-display{bottom:-84px}}
@media (max-width:560px){.property-display{bottom:-62px}}
