.banner{flex-direction:column;justify-content:center;width:100%;height:100vh;padding:0 7%;display:flex;position:relative}.banner .name,.banner .loop-prompt{text-shadow:0 0 6px #000000f2,0 0 22px #000000d9}.banner .description{text-shadow:0 0 5px #000000f2,0 0 16px #000c}.banner #list_prompt{color:var(--accent)}.banner #prompt{color:var(--text);animation:1.1s step-end infinite caret-blink}.banner .name{opacity:0;font-size:clamp(3rem,10vw,6rem);line-height:1;animation:.6s .15s forwards fade-in-down}.banner .loop-prompt{opacity:0;align-items:start;margin-top:12px;font-size:clamp(2rem,8vw,4rem);line-height:1.1;animation:.6s .45s forwards fade-in-down;display:grid}.banner .description{opacity:0;margin-top:32px;animation:.6s .75s forwards fade-in-down}.banner span{color:#f2f2f2;letter-spacing:.2rem;font-family:Staatliches,cursive;font-weight:700}.banner p{color:#f2f2f2;max-width:600px;font-size:24px;line-height:1.5}@media screen and (width<=768px){.banner p{max-width:500px;font-size:20px}}@media screen and (width<=480px){.banner p{letter-spacing:0;font-size:16px}.banner .description{margin-top:24px}}.loop-prompt__sizer,.loop-prompt__text{grid-area:1/1}.loop-prompt__sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.banner__content{flex-direction:column;justify-content:center;display:flex}.banner__scroll{pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:6px;animation:.6s 1.05s forwards fade-in-down;display:flex;position:absolute;bottom:40px;left:50%;translate:-50%}.banner__scroll span{letter-spacing:.3rem;text-indent:.3rem;color:var(--text-muted);font-size:15px}.banner__scroll svg{fill:none;width:34px;height:34px;stroke:var(--text);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;animation:1.8s ease-in-out infinite scroll-hint;display:block}@media screen and (width<=480px){.banner__scroll{bottom:28px}.banner__scroll span{font-size:13px}.banner__scroll svg{width:28px;height:28px}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes caret-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes scroll-hint{0%,to{opacity:.55;transform:translateY(0)}50%{opacity:1;transform:translateY(9px)}}@media (prefers-reduced-motion:reduce){.banner #prompt,.banner__scroll svg{animation:none}}.presentation{flex-direction:column;align-items:center;display:flex}:root{--bg:#0a0f0c;--text:#f2f2f2;--text-muted:#a6a6a6;--surface:#f2f2f20d;--surface-raised:#f2f2f214;--border:#f2f2f21f;--border-strong:#f2f2f22e;--accent:#7ddba4;--accent-hover:#a8ebc5}*{box-sizing:border-box;margin:0;padding:0;font-family:IBM Plex Sans,sans-serif}body{background-color:var(--bg);position:relative}main{flex-direction:column;justify-content:center;align-items:center;display:flex}.container{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);background-color:var(--surface);border-radius:20px;justify-content:center;width:85%;max-width:1100px;margin-top:50px;padding:50px;display:flex;box-shadow:0 8px 32px #00000059}.container:not(:last-child){margin-bottom:100px}.container h1{color:var(--text);font-family:Staatliches,cursive;font-size:clamp(2.25rem,8vw,3rem)}.container p{color:var(--text-muted);margin-top:15px;font-size:22px}@media screen and (width<=768px){.container p{font-size:19px}.container{width:95%;padding:30px}}@media screen and (width<=480px){.container p{letter-spacing:0;font-size:16px}.container{width:100%;padding:20px}}#link{font-weight:700;font-size:inherit;color:var(--accent);text-decoration:none;transition:color .15s}#link:hover{color:var(--accent-hover)}.reveal{opacity:0;transition:opacity .6s ease-out,translate .6s ease-out;translate:0 24px}.reveal.is-visible{opacity:1;translate:none}.projects{flex-direction:column;align-items:center;width:100%;display:flex}.projects__filters{flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 16px;display:flex}.projects__filters button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background-color:#0000;border-radius:999px;padding:6px 16px;font-size:.95rem;transition:color .2s ease-in-out,border-color .2s ease-in-out,background-color .2s ease-in-out}.projects__filters button:hover{color:var(--text);border-color:var(--border-strong)}.projects__filters button.is-active{color:var(--bg);background-color:var(--text);border-color:var(--text)}.projects__container{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),300px));justify-content:space-evenly;justify-items:center;gap:40px;width:100%;display:grid}.card{border:1px solid var(--border-strong);background-color:var(--surface-raised);width:100%;min-width:0;max-width:300px;color:var(--text);border-radius:12px;grid-template-rows:auto auto 1fr;text-decoration:none;display:grid;overflow:hidden}.card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card{transition:transform .2s ease-in-out,border-color .2s ease-in-out,opacity .5s ease-out,translate .5s ease-out}.card:hover{border-color:var(--accent);cursor:pointer}@media (hover:hover){.card:hover{transform:scale(1.05)}}.card .card__img img{border-radius:0}.card .card__title{grid-row:2/3;justify-content:center;padding:12px 10px 0;display:flex}.card .card__title span{color:var(--text);font-size:1.3rem;font-weight:600}.card .card__description{flex-direction:column;grid-row:3/4;display:flex}.card .card__description p{color:var(--text-muted);margin-top:0;padding:8px 14px 12px;font-size:1rem}.card--hidden{display:none}.card__tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding:0 14px 16px;list-style:none;display:flex}.card__tags li{border:1px solid var(--border-strong);color:var(--text-muted);background-color:#f2f2f20f;border-radius:999px;padding:3px 9px;font-size:.78rem;line-height:1.4}.card__tags .is-domain{color:var(--accent);border-color:var(--accent);background-color:#8995d91f;font-weight:600}.card__img{grid-row:1/2;position:relative}.card__img img{object-fit:cover;border-radius:10px;width:100%;height:180px;display:block}.card__img span{color:#f2f2f2;background-color:#0d0d0d80;border-radius:5px;padding:5px;font-size:1rem;position:absolute;bottom:12px;right:12px}.contact{justify-content:space-around;width:70%;margin-bottom:100px;display:flex}.contact a{text-decoration:none}@media screen and (width<=768px){.contact{width:100%}}.contact__card{appearance:none;cursor:pointer;width:80px;height:80px;font:inherit;background-color:#0000;border:none;border-radius:30px;padding:0;display:grid}.contact__card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.contact__card svg{fill:#f2f2f2;place-self:center;width:80%;height:80%;position:relative;overflow:hidden}.contact__card{transition:all .2s ease-in-out}.contact__card:hover{background-color:#f2f2f2}.contact__card:hover svg{fill:#0d0d0d}.toast{z-index:10;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;background-color:#0d0d0deb;border-radius:999px;padding:10px 20px;font-size:.95rem;transition:opacity .2s ease-out,transform .2s ease-out;position:fixed;bottom:32px;left:50%;transform:translate(-50%,12px);box-shadow:0 8px 32px #00000073}.toast--visible{opacity:1;transform:translate(-50%)}.toast--error{color:#f2aebc;border-color:#e0526b}@media screen and (width<=480px){.toast{white-space:normal;text-align:center;max-width:90vw}}@media (prefers-reduced-motion:reduce){.toast{transition:none;transform:translate(-50%)}}.experiences{flex-direction:column;align-items:center;width:100%;display:flex}.experiences__container{grid-gap:20px;grid-auto-rows:auto;width:100%;margin-top:24px;display:grid}.experience-card{border:1px solid var(--border-strong);background-color:var(--surface-raised);width:100%;color:var(--text);border-radius:12px;grid-template-columns:260px 1fr;text-decoration:none;display:grid;overflow:hidden}.experience-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.experience-card{transition:transform .2s ease-in-out,border-color .2s ease-in-out,opacity .5s ease-out,translate .5s ease-out}.experience-card:hover{border-color:var(--accent);cursor:pointer}@media (hover:hover){.experience-card:hover{transform:scale(1.02)}}@media (width<=768px){.experience-card{grid-template-columns:1fr}}.experience-card__img{position:relative}.experience-card__img img{object-fit:cover;width:100%;height:100%;min-height:200px;display:block}.experience-card__img span{color:#f2f2f2;background-color:#0d0d0d80;border-radius:5px;padding:5px;font-size:1rem;position:absolute;bottom:12px;right:12px}@media (width<=768px){.experience-card__img img{height:180px;min-height:0}}.experience-card__body{flex-direction:column;padding:18px 22px;display:flex}.experience-card__body p{color:var(--text-muted);margin-top:10px;font-size:1rem}.experience-card__head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.experience-card__name{color:var(--text);font-size:1.3rem;font-weight:600}.experience-card__type{border:1px solid var(--accent);color:var(--accent);background-color:#8995d91f;border-radius:999px;padding:3px 9px;font-size:.78rem;font-weight:600;line-height:1.4}.lang-switch{z-index:10;border:1px solid var(--border);background-color:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;gap:2px;padding:3px;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 4px 18px #00000059}.lang-switch button{cursor:pointer;color:var(--text-muted);letter-spacing:.08rem;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:600;transition:color .15s,background-color .15s}.lang-switch button:hover{color:var(--text)}.lang-switch button.is-active{color:var(--bg);background-color:var(--text)}.lang-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media screen and (width<=480px){.lang-switch{top:16px;right:16px}.lang-switch button{padding:5px 11px;font-size:12px}}
