/* Sora, self-hosted (SIL Open Font License) */
@font-face{font-family:"Sora";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/sora-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:"Sora";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/sora-latin.woff2) format("woff2");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
.lang-switch { display: inline-flex; align-items: center; gap: 2px; }
.nav .lang-switch a, .nav .lang-switch a:not(.btn) { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 8px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; text-decoration: none; opacity: 0.7; }
.nav .lang-switch a:hover { opacity: 1; }
.nav .lang-switch a[aria-current="page"] { opacity: 1; box-shadow: inset 0 0 0 1px currentColor; }
.footer-linkedin { margin-left: auto; }
@media (max-width: 640px) { .footer-linkedin { margin-left: 0; width: auto; } }

/* Intro: centre the whole IA > Humano group, not only the mark */
@media (min-width: 641px) {
  .intro.has-particles .intro-words { grid-template-columns: auto var(--mark-w, 34vw) auto; justify-content: center; }
}

/* Privacy notice and footer button */
.consent{position:fixed;left:20px;bottom:20px;z-index:2147483001;box-sizing:border-box;width:min(400px,calc(100vw - 40px));padding:18px 20px;background:#0F172A;color:#CBD5E1;border:1px solid rgba(129,140,248,.35);border-radius:14px;box-shadow:0 18px 48px rgba(2,6,23,.5);font-family:var(--font,"Sora",system-ui,sans-serif);opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}
.consent.show{opacity:1;transform:none}
.consent-title{margin:0 0 6px;font-size:15px;font-weight:600;color:#fff}
.consent-text{margin:0 0 14px;font-size:13.5px;line-height:1.55}
.consent-text a{color:#A5B4FC;text-decoration:underline;text-underline-offset:2px}
.consent-actions{display:flex;gap:10px}
.consent-btn{flex:1;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.consent-btn:hover{background:rgba(255,255,255,.1)}
.consent-btn:focus-visible{outline:2px solid #5EEAD4;outline-offset:2px}
.footer-consent{background:none;border:0;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer}
.footer-consent:hover{text-decoration:underline;text-underline-offset:2px}
@media (max-width:640px){.consent{left:12px;bottom:12px;width:calc(100vw - 24px)}}
@media (prefers-reduced-motion:reduce){.consent{transition:none}}
/* Social links (LinkedIn, Instagram) with the brand glow */
.social{display:flex;align-items:center;gap:14px}
.site-footer .social{margin-left:auto;margin-right:84px}
@media (max-width:640px){.site-footer .social{margin:12px 0 0;margin-right:0}}
.social-hero{margin-top:22px;gap:16px}
.social-link{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#E0E7FF;background:radial-gradient(circle at 50% 35%,rgba(79,70,229,.35),rgba(15,23,42,.9) 70%);isolation:isolate;transition:transform .2s ease,color .2s ease}
.social-hero .social-link{width:54px;height:54px}
.social-link svg{width:46%;height:46%;filter:drop-shadow(0 0 4px rgba(165,180,252,.65))}
.social-link::before,.social-link::after{content:"";position:absolute;inset:-2px;border-radius:50%;background:conic-gradient(from 0deg,#818CF8,#2DD4BF,rgba(45,212,191,0) 55%,#818CF8);animation:sl-orbit 6s linear infinite;z-index:-1}
.social-link::before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
.social-link::after{filter:blur(9px);opacity:.45;animation:sl-orbit 6s linear infinite,sl-breathe 3.6s ease-in-out infinite;z-index:-2}
.social-link + .social-link::before,.social-link + .social-link::after{animation-delay:-3s,-1.8s}
.social-link:hover,.social-link:focus-visible{color:#fff;transform:translateY(-2px) scale(1.06)}
.social-link:hover::after,.social-link:focus-visible::after{opacity:.85}
.social-link:focus-visible{outline:2px solid #5EEAD4;outline-offset:4px}
@keyframes sl-orbit{to{transform:rotate(360deg)}}
@keyframes sl-breathe{0%,100%{opacity:.3}50%{opacity:.7}}
@media (prefers-reduced-motion:reduce){.social-link::before,.social-link::after{animation:none}}
