@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/93a6e477e1480c92-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c7e0cf6c760983e7-s.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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/9d5a263311222317-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Bricolage Grotesque Fallback;src:local("Arial");ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.00%;size-adjust:105.43%}.__className_1243c3{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.__variable_1243c3{--font-display:"Bricolage Grotesque","Bricolage Grotesque Fallback"}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/adb45196eddef626-s.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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d0ba92e140f0dc-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Instrument Sans Fallback;src:local("Arial");ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.00%;size-adjust:102.74%}.__className_3f4a4b{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.__variable_3f4a4b{--font-body:"Instrument Sans","Instrument Sans Fallback"}:root{--bg:#f4f6f8;--surface:#ffffff;--ink:#0f1b2d;--muted:#56637a;--line:#dde3ea;--accent:#2b55f5;--accent-ink:#ffffff;--signal:#f2a516;--radius:14px}@media (prefers-color-scheme:dark){:root{--bg:#0c1422;--surface:#131d30;--ink:#eef2f8;--muted:#9aa8bf;--line:#243149;--accent:#6b8bff;--accent-ink:#0c1422}}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display),system-ui,sans-serif;line-height:1.1;margin:0;letter-spacing:-.02em}p,ul{margin:0}ul{list-style:none;padding:0}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:min(1080px,100% - 2.5rem);margin-inline:auto}.section{padding-block:clamp(3rem,7vw,5.5rem);border-top:1px solid var(--line)}.section h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:2rem}.section-note{color:var(--muted);margin:-1rem 0 2rem}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:.6rem 1rem;z-index:100}.skip:focus{left:0}.header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4rem}.brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;text-decoration:none}.brand span{color:var(--accent)}.header nav ul{display:flex;gap:1.75rem}.header nav a{text-decoration:none;color:var(--muted);font-size:.95rem;transition:color .15s}.header nav a:hover{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.4rem;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none;border:1px solid var(--accent);transition:transform .15s,filter .15s}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink);filter:none}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.hero{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:3rem;gap:3rem;align-items:center;padding-block:clamp(3.5rem,9vw,7rem)}.hero h1{font-size:clamp(2.6rem,6.5vw,4.9rem);font-weight:800;max-width:14ch}.lead{margin-top:1.5rem;max-width:60ch;color:var(--muted);font-size:1.1rem}.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.status{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .9rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.9rem;color:var(--muted);margin-bottom:1.5rem}.status i{width:.55rem;height:.55rem;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px color-mix(in srgb,var(--signal) 25%,transparent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px transparent}}.avatar{aspect-ratio:4/5;width:min(100%,360px);justify-self:end;border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:14px 14px 0 var(--accent);display:grid;place-items:center}.avatar img{width:100%;height:100%;object-fit:cover}.avatar span{font-family:var(--font-display);font-size:5rem;font-weight:800;color:var(--accent)}.about{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:3rem;gap:3rem}.study-groups{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.8rem}.study>h3{font-size:1.3rem;margin-bottom:1.25rem}.study ol{display:grid;grid-gap:1rem;gap:1rem;padding-left:1.5rem;border-left:2px solid var(--line)}.study-item{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem}.study-item:before{content:"";position:absolute;left:calc(-1.5rem - 6px);top:1.6rem;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}.study-top{display:flex;justify-content:space-between;align-items:start;gap:1rem}.study-item h4{margin:0;font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.01em}.study-inst{color:var(--muted);font-size:.95rem}.study-period-container{display:flex;justify-content:space-between}.percentage,.study-period{font-size:.85rem;color:var(--muted)}.percentage{color:#c4bf61}.percentage-done{color:#22a06b}.study-desc{color:var(--muted);font-size:.95rem}.badge-done{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.progress{height:6px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:.3rem}.progress span{display:block;height:100%;background:var(--signal);border-radius:inherit}.progress-done span{background:#22a06b}.study-link{align-self:flex-start;font-weight:600;font-size:.95rem;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}.study-link:hover{color:var(--accent)}.prose{display:grid;grid-gap:1.1rem;gap:1.1rem;max-width:62ch;color:var(--muted);font-size:1.05rem}.facts{display:grid;grid-gap:1.5rem;gap:1.5rem;margin:0;align-content:start}.facts div{border-left:3px solid var(--accent);padding-left:1.1rem}.facts dt{font-family:var(--font-display);font-size:2rem;font-weight:700}.facts dd{margin:0;color:var(--muted)}.skills{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.25rem;gap:1.25rem}.skills article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.8rem}.skills h3{font-size:1.3rem}.skills p{color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:.4rem}.tags li{font-size:.82rem;padding:.25rem .7rem;border-radius:6px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);font-weight:600}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.filters button{font:inherit;cursor:pointer;padding:.45rem 1rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);transition:all .15s}.filters button:hover{color:var(--ink);border-color:var(--ink)}.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.projects{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.25rem;gap:1.25rem}.project{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;display:flex;flex-direction:column;gap:.8rem}.project h3{font-size:1.3rem}.project p{color:var(--muted)}.project-head{align-items:start;gap:1rem}.project-head,.project-links{display:flex;justify-content:space-between}.project-links{gap:1.25rem;padding-top:.8rem;border-top:1px solid var(--line);margin-top:.4rem}.project-links a{font-weight:600;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:4px}.project-links a:hover{color:var(--accent)}.badge{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;white-space:nowrap;border:1px solid transparent}.badge-success{background:color-mix(in srgb,#22c55e 15%,transparent);color:#15803d;border-color:color-mix(in srgb,#22c55e 30%,transparent)}.badge-warning{background:color-mix(in srgb,var(--signal) 20%,transparent);color:#c2410c;border-color:color-mix(in srgb,var(--signal) 40%,transparent)}@media (prefers-color-scheme:dark){.badge-success{color:#4ade80}.badge-warning{color:#fb923c}}.contact{padding-block:clamp(3.5rem,8vw,6rem);border-top:1px solid var(--line);display:grid;grid-gap:1rem;gap:1rem;justify-items:start}.contact h2{font-size:clamp(2rem,5vw,3.2rem);max-width:18ch}.contact p,.footer{color:var(--muted)}.footer{border-top:1px solid var(--line);padding-block:1.75rem;font-size:.9rem}.footer-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-in a{margin-left:1rem;text-decoration:none}.footer-in a:hover{color:var(--ink)}@media (max-width:820px){.header nav{display:none}.about,.hero{grid-template-columns:1fr}.avatar{justify-self:start;width:min(100%,280px);order:-1}.projects,.skills{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.status i{animation:none}.btn{transition:none}}.lang-toggle{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang-toggle button{font:inherit;font-size:.85rem;font-weight:600;padding:.35rem .75rem;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}.lang-toggle button.active,.lang-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.lang-toggle button:hover:not(.active){color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}