:root{
  --blue:#075cbc;--blue-2:#0a6fe8;--blue-deep:#031d43;--navy:#03142f;--red:#d20b12;
  --cream:#f4f1e9;--white:#fff;--ink:#0e1726;--muted:#667085;--line:#e7eaf0;
  --shadow:0 24px 70px rgba(2,28,66,.14);--radius:24px;--container:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-60px;background:#fff;padding:10px 14px;z-index:9999;border-radius:10px}.skip-link:focus{top:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(2,18,45,.58);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}.site-header.scrolled{background:rgba(2,18,45,.95);box-shadow:0 12px 36px rgba(0,0,0,.12)}.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:#fff}.brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}.brand span{display:grid;line-height:1.08}.brand strong{font-size:.93rem;letter-spacing:.08em}.brand small{margin-top:5px;font-size:.72rem;color:#cfe3ff;letter-spacing:.12em;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:26px;color:#fff;font-size:.92rem;font-weight:650}.main-nav>a:not(.nav-pay){opacity:.88;transition:.2s}.main-nav>a:hover{opacity:1}.nav-pay{background:var(--red);padding:11px 16px;border-radius:999px;box-shadow:0 10px 24px rgba(210,11,18,.28)}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px}
.hero{position:relative;min-height:760px;padding:150px 0 78px;background:radial-gradient(circle at 77% 45%,rgba(30,133,255,.28),transparent 30%),linear-gradient(135deg,#020c1d 0%,#05285a 48%,#064ea3 100%);color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:100px;background:#fff;clip-path:polygon(0 74%,100% 0,100% 100%,0 100%)}.hero-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.ball-orbit{position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%;pointer-events:none}.orbit-one{width:640px;height:640px;right:-180px;top:60px;animation:spin 26s linear infinite}.orbit-two{width:470px;height:470px;right:-55px;top:170px;border-style:dashed;animation:spin 35s linear infinite reverse}@keyframes spin{to{transform:rotate(360deg)}}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:50px}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.eyebrow{color:#d9ebff}.eyebrow .dot{width:8px;height:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 7px rgba(210,11,18,.16)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3.1rem,6.2vw,6.6rem);line-height:.93;letter-spacing:-.055em;margin:24px 0 25px;max-width:780px}.hero h1 span{color:#88c4ff}.hero-lead{font-size:1.13rem;color:#d4e2f6;max-width:650px}.hero blockquote{margin:24px 0 0;padding-left:18px;border-left:3px solid var(--red);font-weight:750;font-size:1.05rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 21px;font-weight:800;transition:.22s;min-height:50px}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 14px 30px rgba(210,11,18,.28)}.btn-secondary{border:1px solid rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.06)}.btn-secondary.dark{border-color:#d8dee8;color:var(--ink);background:#fff}.hero-chips{display:flex;flex-wrap:wrap;gap:10px}.hero-chips span{padding:8px 12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:999px;font-size:.82rem;color:#d5e6fb}.hero-visual{position:relative;min-height:530px;display:grid;place-items:center}.hero-logo{position:relative;z-index:3;width:min(520px,92%);filter:drop-shadow(0 38px 40px rgba(0,0,0,.35));animation:float 5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-11px)}}.logo-glow{position:absolute;width:73%;aspect-ratio:1;border-radius:50%;background:rgba(30,127,255,.35);filter:blur(55px)}.hero-badge{position:absolute;z-index:4;padding:12px 15px;border:1px solid rgba(255,255,255,.16);background:rgba(3,20,47,.72);backdrop-filter:blur(12px);border-radius:16px;box-shadow:0 18px 35px rgba(0,0,0,.17);display:grid;line-height:1.2}.hero-badge strong{font-size:.86rem}.hero-badge span{font-size:.72rem;color:#c6d8ef;margin-top:4px}.badge-a{left:-6px;top:24%}.badge-b{right:-10px;bottom:22%}.hero-scroll{position:absolute;z-index:3;left:50%;bottom:38px;transform:translateX(-50%);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;color:#c3d8f0;display:flex;gap:9px;align-items:center}.hero-scroll span{width:30px;height:1px;background:#fff}
.section{padding:106px 0}.section-light{background:#fff}.split-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}.section-heading h2,.values-copy h2,.contact-copy h2{font-size:clamp(2.35rem,4vw,4.4rem);line-height:1.02;letter-spacing:-.045em;margin:16px 0 0}.prose{font-size:1.08rem;color:#4b5565}.prose p+p{margin-top:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:62px}.stats-grid article{padding:25px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);transition:.25s}.stats-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#cfe1f7}.stats-grid span{color:var(--red);font-size:.78rem;font-weight:900}.stats-grid strong{display:block;margin:12px 0 9px;font-size:1.03rem}.stats-grid p{color:var(--muted);font-size:.9rem;margin:0}
.section-blue{background:linear-gradient(145deg,#03142f,#064d9e);color:#fff;position:relative;overflow:hidden}.section-blue:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:1px solid rgba(255,255,255,.06);right:-180px;top:-250px}.centered{text-align:center;max-width:760px;margin:0 auto}.centered h2{font-size:clamp(2.4rem,4.2vw,4.4rem);line-height:1.03;letter-spacing:-.045em;margin:16px 0}.centered p{color:#cfe0f6}.kicker-light{color:#8bc5ff}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}.method-card{padding:28px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);backdrop-filter:blur(8px);transition:.25s}.method-card:hover{background:rgba(255,255,255,.11);transform:translateY(-5px)}.method-icon{width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.35rem;margin-bottom:24px}.method-card h3{font-size:1.14rem}.method-card p{font-size:.91rem;color:#c8d9ef;margin:0}
.values-section{background:var(--cream)}.values-grid{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center}.values-copy>p{color:#667085;font-size:1.05rem}.check-list{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:14px}.check-list li{position:relative;padding:15px 16px 15px 47px;background:rgba(255,255,255,.72);border-radius:14px}.check-list li:before{content:"✓";position:absolute;left:17px;top:15px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:900;font-size:.75rem}.quote-panel{background:linear-gradient(145deg,#073f86,#075cbc);color:#fff;border-radius:32px;padding:48px;box-shadow:0 30px 70px rgba(3,50,107,.22);position:relative;overflow:hidden}.quote-panel:after{content:"";position:absolute;width:230px;height:230px;border:42px solid rgba(255,255,255,.05);border-radius:50%;right:-90px;bottom:-100px}.quote-mark{font-family:Georgia,serif;font-size:6rem;line-height:.7;color:#8cc6ff}.quote-panel p{font-size:1.38rem;line-height:1.45;font-weight:700;margin:24px 0}.quote-panel span{color:#cfe4ff;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}
.gallery-section{background:#fff}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:34px}.gallery-heading h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.04;letter-spacing:-.04em;margin:14px 0 0}.gallery-heading>p{max-width:420px;color:var(--muted);margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-item{margin:0;position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#e9f2ff,#cbdcf1);border:1px solid #dbe5f1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-item img[src$=".jpg"]{font-size:0}.gallery-item:has(img:not([src])):before{content:"Foto"}.gallery-item figcaption{position:absolute;left:12px;bottom:12px;background:rgba(2,18,45,.72);backdrop-filter:blur(8px);color:#fff;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:750}.gallery-item:hover img{transform:scale(1.04)}.gallery-item.image-missing:after{content:"SUBE AQUÍ TU FOTO";position:absolute;inset:0;display:grid;place-items:center;color:#47709b;font-size:.72rem;font-weight:900;letter-spacing:.12em}.gallery-item.image-missing:before{content:"+";position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);font-size:2.4rem;color:#6f98be}.gallery-item.image-missing figcaption{display:none}
.payment-section{padding:0 0 110px}.payment-card{background:linear-gradient(120deg,#03162f,#075cbc);color:#fff;border-radius:30px;padding:32px 38px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;box-shadow:0 30px 70px rgba(3,49,102,.22);position:relative;overflow:hidden}.payment-card:after{content:"";position:absolute;width:300px;height:300px;border:55px solid rgba(255,255,255,.05);border-radius:50%;right:16%;top:-170px}.payment-logo img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 15px 18px rgba(0,0,0,.25))}.payment-copy h2{font-size:2rem;line-height:1.05;margin:7px 0}.payment-copy p{color:#d0e3fa;margin:0}.btn-white{background:#fff;color:#073b7b;position:relative;z-index:2}
.contact-section{background:#f7f9fc}.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:center}.contact-copy>p{font-size:1.06rem;color:var(--muted);max-width:680px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.contact-panel{background:#fff;border:1px solid var(--line);padding:30px;border-radius:24px;box-shadow:0 20px 50px rgba(17,36,65,.08);display:grid}.contact-panel span{font-size:.72rem;font-weight:900;color:var(--blue);letter-spacing:.14em}.contact-panel strong{margin-top:4px;font-size:1.15rem}.contact-panel small{color:var(--muted);margin-top:4px}.contact-panel hr{width:100%;border:0;border-top:1px solid var(--line);margin:22px 0}
.site-footer{background:#020d20;color:#fff;padding:40px 0 28px}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:62px;height:62px}.footer-brand div{display:grid}.footer-brand span{font-size:.8rem;color:#99aec8}.footer-links{display:flex;gap:22px;font-size:.84rem;color:#bac9db}.footer-copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;color:#7f95af;font-size:.78rem}.floating-pay{position:fixed;right:18px;bottom:18px;z-index:900;background:var(--red);color:#fff;border-radius:999px;padding:12px 17px;display:flex;gap:9px;align-items:center;box-shadow:0 15px 38px rgba(210,11,18,.34);font-size:.86rem}.floating-pay span{font-size:1rem}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.main-nav{position:fixed;top:84px;left:20px;right:20px;background:#031a3c;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;display:none;flex-direction:column;align-items:stretch;gap:6px;box-shadow:0 20px 50px rgba(0,0,0,.28)}.main-nav.open{display:flex}.main-nav a{padding:10px 12px}.nav-toggle{display:block}.hero{padding-top:130px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-copy{text-align:center}.hero-lead{margin-inline:auto}.hero blockquote{display:inline-block}.hero-actions,.hero-chips{justify-content:center}.hero-visual{min-height:470px}.hero-logo{width:min(470px,85%)}.badge-a{left:8%}.badge-b{right:7%}.split-grid,.values-grid,.contact-grid{grid-template-columns:1fr;gap:40px}.stats-grid,.method-grid{grid-template-columns:repeat(2,1fr)}.gallery-heading{align-items:start;flex-direction:column}.payment-card{grid-template-columns:auto 1fr}.payment-card .btn{grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.footer-copy{grid-column:auto}}
@media(max-width:680px){.container{width:min(100% - 28px,var(--container))}.nav-wrap{height:72px}.brand img{width:48px;height:48px}.brand strong{font-size:.79rem}.brand small{font-size:.64rem}.main-nav{top:72px}.hero{min-height:auto;padding:112px 0 100px}.hero h1{font-size:clamp(2.65rem,14vw,4.3rem)}.hero-lead{font-size:1rem}.hero-visual{min-height:370px;margin-top:12px}.hero-logo{width:88%}.hero-badge{padding:9px 11px}.badge-a{left:0;top:20%}.badge-b{right:0;bottom:18%}.hero-scroll{display:none}.section{padding:78px 0}.split-grid{gap:30px}.section-heading h2,.values-copy h2,.contact-copy h2{font-size:2.6rem}.stats-grid,.method-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item{border-radius:13px}.payment-section{padding-bottom:78px}.payment-card{grid-template-columns:1fr;text-align:center;padding:28px 20px}.payment-logo img{margin:auto}.payment-card .btn{grid-column:auto}.contact-actions{align-items:stretch;flex-direction:column}.footer-links{gap:14px}.floating-pay{right:12px;bottom:12px;padding:11px 13px}.floating-pay strong{display:none}}
@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}.hero-badge{display:none}.hero-visual{min-height:320px}.hero-logo{width:94%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* =========================================================
   HERO 2026 · LOGO CIRCULAR + FLOATING PATHS
   ========================================================= */
.hero{isolation:isolate}
.floating-paths{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.95}
.floating-paths:before{content:"";position:absolute;inset:-18%;background:radial-gradient(circle at 68% 40%,rgba(34,133,255,.14),transparent 34%);filter:blur(22px)}
.floating-paths-svg{position:absolute;inset:-4% -3%;width:106%;height:108%;overflow:visible}
.fp{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:18 28;animation:flowPath 14s linear infinite, pathPulse 5.5s ease-in-out infinite;filter:drop-shadow(0 0 7px rgba(117,188,255,.24))}
.fp-1{stroke:rgba(126,194,255,.34);stroke-width:1.4;animation-duration:16s,5.5s}
.fp-2{stroke:rgba(255,255,255,.17);stroke-width:1;animation-duration:21s,6.4s;animation-direction:reverse,normal}
.fp-3{stroke:rgba(70,154,255,.28);stroke-width:1.2;animation-duration:18s,7s;animation-delay:-4s,-1s}
.fp-4{stroke:rgba(255,255,255,.12);stroke-width:.9;animation-duration:24s,7.8s;animation-delay:-8s,-2s}
.fp-5{stroke:rgba(210,11,18,.22);stroke-width:1.15;animation-duration:20s,6.8s;animation-delay:-5s,-1.8s}
@keyframes flowPath{to{stroke-dashoffset:-920}}
@keyframes pathPulse{0%,100%{opacity:.42}50%{opacity:1}}

.hero-visual{perspective:1200px}
.logo-stage{position:relative;width:min(530px,92%);aspect-ratio:1;display:grid;place-items:center;animation:stageFloat 6s ease-in-out infinite;transform-style:preserve-3d}
.logo-circle{position:relative;z-index:3;width:88%;aspect-ratio:1;border-radius:50%;overflow:visible;display:grid;place-items:center;transform:translateZ(30px);filter:drop-shadow(0 34px 40px rgba(0,0,0,.38));background:transparent}
.hero-logo{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:1;border-radius:0;clip-path:none;animation:logoBreath 5.5s ease-in-out infinite;filter:none}
.logo-glow{z-index:0;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(67,157,255,.46) 0%,rgba(23,113,230,.19) 46%,transparent 72%);filter:blur(35px);animation:glowPulse 4.8s ease-in-out infinite}
.logo-ring{position:absolute;z-index:2;border-radius:50%;pointer-events:none}
.logo-ring-one{inset:1.5%;border:1px solid rgba(255,255,255,.24);box-shadow:0 0 40px rgba(55,154,255,.12),inset 0 0 30px rgba(255,255,255,.03);animation:ringRotate 19s linear infinite}
.logo-ring-one:before,.logo-ring-one:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#8ac6ff;box-shadow:0 0 18px rgba(138,198,255,.9)}
.logo-ring-one:before{top:5.4%;left:26%}.logo-ring-one:after{bottom:6.8%;right:24%}
.logo-ring-two{inset:7.5%;border:1px dashed rgba(255,255,255,.16);animation:ringRotate 26s linear infinite reverse}
.logo-ring-two:before{content:"";position:absolute;inset:12%;border-radius:50%;border:1px solid rgba(210,11,18,.14)}
@keyframes ringRotate{to{transform:rotate(360deg)}}
@keyframes stageFloat{0%,100%{transform:translateY(0) rotateX(0deg) rotateY(0deg)}50%{transform:translateY(-12px) rotateX(1.5deg) rotateY(-1.5deg)}}
@keyframes logoBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}
@keyframes glowPulse{0%,100%{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}

/* Evita que cualquier PNG cuadrado de origen deforme visualmente el escudo. */
.brand img,.footer-brand img,.payment-logo img{display:block;aspect-ratio:1;object-fit:contain;border-radius:0;overflow:visible;flex:0 0 auto}

@media(max-width:980px){
  .floating-paths{opacity:.72}
  .logo-stage{width:min(470px,88%)}
}
@media(max-width:680px){
  .floating-paths{opacity:.52}
  .floating-paths-svg{width:135%;left:-20%}
  .logo-stage{width:92%}
  .logo-ring-one{inset:0}.logo-ring-two{inset:7%}
}
@media(max-width:420px){
  .logo-stage{width:96%}
}

/* Corrección móvil: nunca recorta el escudo completo */
@media(max-width:680px){
  .brand{min-width:0;gap:10px}
  .brand img{width:50px;height:50px;max-width:50px;max-height:50px;object-fit:contain}
  .brand span{min-width:0}
  .logo-circle{width:90%;overflow:visible}
  .hero-logo{width:100%;height:100%;object-fit:contain;clip-path:none;border-radius:0}
  .payment-logo{display:grid;place-items:center;overflow:visible}
  .payment-logo img{width:110px;height:110px;max-width:100%;object-fit:contain}
  .footer-brand img{width:66px;height:66px;object-fit:contain}
}
@media(max-width:420px){
  .brand img{width:46px;height:46px;max-width:46px;max-height:46px}
  .logo-circle{width:91%}
  .hero-logo{width:100%;height:100%;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){
  .fp,.logo-stage,.hero-logo,.logo-glow,.logo-ring{animation:none!important}
}
