:root {
  --c-primary:#0b3d91;
  --c-secondary:#10a2d8;
  --c-accent:#f9b233;
  --c-bg:#f5f5dd;
  --radius:1.25rem;
  --transition:.25s ease;
}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;}
.skip-link{position:absolute;left:-1000px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;background:#000;color:#fff;padding:.75rem 1rem;z-index:2000;border-radius:.5rem;}
.hero-mobile{position:relative;display:flex;align-items:center;justify-content:center;min-height:68vh;padding:clamp(1.6rem,5vh,3.2rem) 1.25rem;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.16),transparent 60%),linear-gradient(135deg,var(--c-primary),var(--c-secondary));overflow:hidden;color:#fff;}
.hero-mobile:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,0.2),transparent 70%);mix-blend-mode:overlay;}
.hero-content{position:relative;z-index:3;max-width:650px;text-align:center;}
.hero-logo{width:150px;max-width:42vw;height:auto;margin:0 auto 1rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));animation:fadeIn .9s ease .1s backwards;}
.hero-mobile h1{font-size:clamp(1.8rem,6.4vw,2.55rem);line-height:1.15;font-weight:800;margin:0 0 .8rem;letter-spacing:.5px;background:linear-gradient(90deg,#fff,#ffe7b3,#fff);background-size:200% 100%;-webkit-background-clip:text;color:transparent;animation:shine 6s linear infinite,fadeInUp .9s ease .15s backwards;}
.hero-mobile p{font-size:clamp(.95rem,3.4vw,1.15rem);margin:0 0 1.35rem;font-weight:500;animation:fadeInUp .9s ease .25s backwards;}
.rotating-words{display:inline-block;position:relative;height:1.2em;vertical-align:bottom;}
.rotating-words span{position:absolute;left:50%;top:0;transform:translateX(-50%);opacity:0;animation:rotateWords 9s linear infinite;white-space:nowrap;font-weight:700;}
.rotating-words span:nth-child(2){animation-delay:3s;}
.rotating-words span:nth-child(3){animation-delay:6s;}
.hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin-inline:auto;margin-top:.6rem;animation:fadeInUp .9s ease .35s backwards;}
.hero-btn{--btn-bg:rgba(255,255,255,0.1);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.85rem .9rem;border-radius:1rem;background:var(--btn-bg);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;line-height:1.1;letter-spacing:.5px;isolation:isolate;overflow:hidden;border:1px solid rgba(255,255,255,.25);box-shadow:0 4px 12px -4px rgba(0,0,0,.35),0 2px 4px -2px rgba(0,0,0,.2);transition:var(--transition);}
.hero-btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,var(--c-accent),#ffd680);opacity:0;transition:var(--transition);}
.hero-btn:hover,.hero-btn:focus-visible{color:#1b1b1b;border-color:rgba(0,0,0,.25);}
.hero-btn:hover:before,.hero-btn:focus-visible:before{opacity:1;}
.btn-noticias{--btn-bg:rgba(255,255,255,0.15);}
.btn-sesion{--btn-bg:rgba(255,255,255,0.12);}
.btn-comisiones{--btn-bg:rgba(255,255,255,0.17);}
.btn-buscar{--btn-bg:rgba(255,255,255,0.1);}        
.scroll-down{position:absolute;bottom:-.4rem;left:50%;transform:translateX(-50%);animation:floatY 2.8s ease-in-out infinite;font-size:1.35rem;opacity:.75;z-index:3;}
.waves{position:absolute;left:0;right:0;bottom:0;height:30%;min-height:140px;pointer-events:none;z-index:2;overflow:hidden;max-width:100vw;}
.waves svg{position:absolute;left:50%;top:0;transform:translateX(-50%);width:150%;min-width:120vw;max-width:150vw;height:100%;}
.wave{animation:drift 15s ease-in-out infinite;}
.wave.wave2{animation:drift2 20s ease-in-out infinite reverse;opacity:.65;}
.wave.wave3{animation:drift3 25s ease-in-out infinite;opacity:.45;}
@keyframes drift{0%{transform:translate(-50%,0) scaleX(1);}25%{transform:translate(-52%,-2px) scaleX(1.05);}50%{transform:translate(-48%,0) scaleX(0.98);}75%{transform:translate(-54%,1px) scaleX(1.02);}100%{transform:translate(-50%,0) scaleX(1);}}
@keyframes drift2{0%{transform:translate(-50%,0) scaleX(1.1);}30%{transform:translate(-46%,1px) scaleX(1.03);}60%{transform:translate(-52%,-1px) scaleX(1.08);}100%{transform:translate(-50%,0) scaleX(1.1);}}
@keyframes drift3{0%{transform:translate(-50%,0) scaleX(0.95);}20%{transform:translate(-53%,2px) scaleX(1.01);}40%{transform:translate(-47%,-1px) scaleX(0.98);}80%{transform:translate(-51%,1px) scaleX(0.99);}100%{transform:translate(-50%,0) scaleX(0.95);}}
@keyframes floatY{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,-9px);}}
@keyframes shine{0%{background-position:0 50%;}100%{background-position:200% 50%;}}
@keyframes rotateWords{0%,10%{opacity:0;transform:translate(-50%,30%);}12%,30%{opacity:1;transform:translate(-50%,0);}33%,100%{opacity:0;transform:translate(-50%,-60%);} }
@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px);}100%{opacity:1;transform:translateY(0);} }
@keyframes fadeIn{0%{opacity:0;}100%{opacity:1;}}
#carouselExampleSlidesOnly{margin-top:0;}
#buscador{scroll-margin-top:4.5rem;}
#carouselPagWeb .carousel-caption{padding:.65rem .9rem;}
@media (min-width:480px){.hero-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));}}
@media (prefers-reduced-motion:reduce){.scroll-down,.wave,.hero-mobile h1,.rotating-words span,.hero-btn:before{animation:none;}
.hero-mobile h1{background:linear-gradient(90deg,#fff,#ffe7b3);} }
