.hero{background:#0d1126;padding:120px 60px 100px;position:relative;overflow:hidden;text-align:center}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(10,63,168,0.28) 0%,transparent 65%)}.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}.hero-inner{max-width:820px;margin:0 auto;position:relative;z-index:1}.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.hero-line{width:28px;height:1px;background:rgba(255,255,255,0.25)}.hero-eyebrow span{font-size:0.68rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4)}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.4rem,5.5vw,4rem);color:white;line-height:1.12;font-weight:700;margin-bottom:24px}.underline-word{position:relative;display:inline-block;font-style:italic}.underline-word::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:5px;background:#1452cc;border-radius:3px;animation:lineGrow 0.8s 0.6s ease both;transform-origin:left}@keyframes lineGrow{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}.hero-sub{color:rgba(255,255,255,0.45);font-size:1rem;line-height:1.75;font-weight:300;max-width:560px;margin:0 auto 40px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.btn-primary{background:#0a3fa8;color:white;padding:13px 32px;border-radius:6px;font-size:0.875rem;font-weight:600;text-decoration:none;letter-spacing:0.3px;transition:background 0.2s}.btn-primary:hover{background:#1452cc}.btn-ghost{background:transparent;color:rgba(255,255,255,0.55);padding:13px 32px;border-radius:6px;font-size:0.875rem;font-weight:500;text-decoration:none;border:1px solid rgba(255,255,255,0.15);transition:all 0.2s;letter-spacing:0.3px}.btn-ghost:hover{border-color:rgba(255,255,255,0.35);color:white}.hero{width:100vw;margin-left:calc(-50vw + 50%)}.hero{background:linear-gradient(-45deg,#0a3fa8,#0d1126,#065f46,#0a3fa8);background-size:400% 400%;animation:gradientMove 8s ease infinite}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.quehacemos{background:#f5f6fa;padding:80px 60px}.qh-header{margin-bottom:48px}.qh-row-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:stretch}.qh-col-stack{display:flex;flex-direction:column;gap:20px}.qh-col-stack .qh-card{flex:1}.qh-row-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.qh-card{background:white;border:1px solid #d8dbe8;border-radius:12px;overflow:hidden;cursor:default;transition:box-shadow 0.3s,border-color 0.3s;display:flex;flex-direction:column;will-change:transform}.qh-card:hover{box-shadow:0 20px 48px rgba(10,63,168,0.12);border-color:#b8c8f0}.qh-card-top{padding:28px 28px 20px;flex:1}.qh-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.qh-title{font-size:1.1rem;font-weight:700;color:#14172b;margin-bottom:10px;line-height:1.3}.qh-desc{font-size:0.83rem;color:#6b7190;line-height:1.7}.qh-card-featured .qh-desc{font-size:0.9rem;line-height:1.8}.qh-bar{padding:14px 28px;font-size:0.78rem;font-weight:600;color:white;line-height:1.4}.quehacemos{width:100vw;margin-left:calc(-50vw + 50%);padding:80px 60px}.qh-header .section-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:14px}.qh-header .section-eyebrow .line{width:24px;height:2px;background:#0a3fa8;display:inline-block}.qh-header .section-eyebrow span{font-size:0.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#0a3fa8}.qh-header .section-title{font-size:2rem;font-weight:700;color:#14172b;margin-bottom:10px;line-height:1.2}.qh-header .section-sub{color:#6b7190;font-size:0.9rem;line-height:1.7}.qh-row-top,.qh-row-bottom{transform-style:preserve-3d;perspective:1200px}.qh-card{transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.qh-row-top,.qh-row-bottom,.quehacemos,.quehacemos .et_pb_code_inner,.et_pb_column,.et_pb_row,.et_pb_section{overflow:visible!important}.qh-card{transition:transform 0.3s ease,box-shadow 0.3s ease!important}.qh-card:hover{transform:translateY(-12px) scale(1.03) rotate(-1deg)!important;box-shadow:0 32px 56px rgba(10,63,168,0.18)!important}.proyectos-section{position:relative;padding:80px 60px;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%)}.proyectos-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(-45deg,#0d1126,#0a3fa8,#1a7fd4,#0e4a8a);background-size:400% 400%;animation:proyectosGradient 10s ease infinite}.proyectos-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);background-size:60px 60px}@keyframes proyectosGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.proyectos-inner{position:relative;z-index:1;max-width:1060px;margin:0 auto}.proyectos-header{text-align:center;margin-bottom:48px}.proyectos-eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}.proyectos-line{width:24px;height:1px;background:rgba(255,255,255,0.3)}.proyectos-eyebrow span{font-size:0.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,0.5)}.proyectos-title{font-size:2.2rem;font-weight:700;color:white;margin-bottom:10px;line-height:1.2}.proyectos-sub{font-size:0.9rem;color:rgba(255,255,255,0.45);line-height:1.7}.proyectos-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}.pf-btn{padding:7px 18px;border-radius:4px;border:1px solid rgba(255,255,255,0.15);background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.6);font-size:0.75rem;font-weight:600;cursor:pointer;letter-spacing:0.5px;transition:all 0.18s}.pf-btn:hover{border-color:rgba(255,255,255,0.4);color:white}.pf-btn.active{background:white;border-color:white;color:#0a3fa8}.proyectos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.proy-card{background:rgba(255,255,255,0.97);border-radius:12px;border:1px solid rgba(255,255,255,0.15);overflow:hidden;cursor:pointer;transition:transform 0.3s ease,box-shadow 0.3s ease}.proy-card:hover{transform:translateY(-10px) scale(1.02) rotate(-0.5deg);box-shadow:0 28px 56px rgba(0,0,0,0.35)}