@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#050505;color:#f6f5f2}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#050505;color:#f6f5f2;cursor:default;-webkit-user-select:none;user-select:none;overflow-x:hidden}*{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#root{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.page{position:relative;width:100%;max-width:1200px;border-radius:32px;overflow:hidden}.page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:none;opacity:0;animation:none}.page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:none;opacity:0;animation:none}.topbar{position:sticky;top:0;display:flex;justify-content:center;align-items:center;margin-bottom:42px;min-height:72px;padding:0 18px;background:#050505f2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(255,255,255,.06);animation:slide-down .8s ease-out both}.topbar-left{position:absolute;left:18px;top:50%;transform:translateY(-50%)}.topbar-right{position:absolute;right:18px;top:50%;transform:translateY(-50%)}.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:28px}.nav a{position:relative;color:#e7e6e2;text-decoration:none;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:4px 0;transition:color .18s ease,transform .18s ease;animation:fade-up .85s ease both}.nav a:nth-child(1){animation-delay:.12s}.nav a:nth-child(2){animation-delay:.18s}.nav a:nth-child(3){animation-delay:.24s}.nav a:nth-child(4){animation-delay:.3s}.nav a:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#f8e6b0,#d7b16e);transition:width .24s ease}.nav a:hover,.nav a:focus-visible{color:#f8e6b0;transform:translateY(-1px)}.nav a:hover:after,.nav a:focus-visible:after{width:100%}a,button,input,textarea,.project-card-link,.more-link,.lang-btn{cursor:pointer}.nav a:focus-visible{outline:none}.topbar-actions{display:flex;align-items:center;gap:12px}.language-switch{position:relative;display:inline-flex;gap:10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff14;padding:6px 10px;box-shadow:inset 0 0 0 1px #ffffff08}.lang-btn{border:none;background:transparent;color:#e7e6e2;min-width:44px;min-height:44px;font-size:.9rem;text-transform:uppercase;font-weight:700;letter-spacing:.18em;cursor:pointer;transition:color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;position:relative;z-index:1;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.lang-btn:hover,.lang-btn:focus-visible{color:#f8e6b0;transform:translateY(-1px)}.lang-btn.active{background:#f8e6b029;color:#f8e6b0}.brand-link{display:inline-block;color:#cbd5e1;text-decoration:none;font-size:.95rem;letter-spacing:.18em;font-weight:700;text-transform:lowercase;transition:color .18s ease,transform .18s ease}.typewriter{display:inline-block;color:#f6f5f2;font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.05;white-space:nowrap;overflow:hidden;margin:0}.typewriter:after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:8px;background:#f8e6b0;animation:blink .7s steps(1) infinite;vertical-align:bottom}@keyframes blink{0%,50%{opacity:1}50.1%,to{opacity:0}}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-up{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pop-in{0%{transform:translateY(18px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes float-arrow{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes drift-glow{0%{transform:translate(0)}to{transform:translate(-16px,14px)}}@keyframes shimmer-surface{0%{transform:translateY(10px) scaleY(.98);opacity:.75}to{transform:translateY(-10px) scaleY(1.02);opacity:.85}}@keyframes hero-glow-flow{0%{transform:translate(-52%,-52%) scale(.98);opacity:.5}50%{transform:translate(-48%,-52%) scale(1);opacity:.55}to{transform:translate(-50%,-50%) scale(.96);opacity:.45}}@keyframes hero-glow-pulse{0%{transform:scale(.98);opacity:.56}50%{transform:scale(1.04);opacity:.62}to{transform:scale(.96);opacity:.54}}.brand-link:hover,.brand-link:focus-visible{color:#f8e6b0;transform:translateY(-1px)}.lang-btn:focus-visible{outline:2px solid rgba(248,230,176,.45);outline-offset:3px}.section{position:relative;overflow:hidden;margin-top:56px;padding:40px 24px;border-radius:28px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);animation:fade-up 1s ease both}.section:before{content:"";position:absolute;top:-10%;right:0;bottom:0;left:-10%;pointer-events:none;background:radial-gradient(circle at 18% 28%,rgba(248,230,176,.16),transparent 24%),radial-gradient(circle at 78% 72%,rgba(81,164,255,.1),transparent 18%);opacity:.45;filter:blur(24px);mix-blend-mode:screen}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.project-card{padding:28px;border-radius:24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #00000024;transform:translateY(0);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;animation:pop-in .9s ease both;opacity:0}.project-card:nth-child(1){animation-delay:.1s}.project-card:nth-child(2){animation-delay:.18s}.project-card:nth-child(3){animation-delay:.26s}.project-card:nth-child(4){animation-delay:.34s}.project-card:nth-child(5){animation-delay:.42s}.project-card:nth-child(6){animation-delay:.5s}.project-card:hover{transform:translateY(-10px) scale(1.01);border-color:#f8e6b03d;box-shadow:0 30px 50px #0000002e;background:#ffffff14}.project-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:#e7e6e2cc;font-size:.92rem}.project-card-meta span{display:inline-flex;align-items:center;gap:8px}.project-card h3{margin:0;font-size:1.2rem;line-height:1.2}.project-category{color:#f8e6b0;font-size:.82rem;letter-spacing:.18em;text-transform:uppercase}.more-link{display:inline-flex;align-items:center;gap:10px;margin-top:30px;color:#f8e6b0;text-decoration:none;position:relative;font-weight:600;letter-spacing:.14em;transition:transform .18s ease,color .18s ease}.more-link:hover,.more-link:focus-visible{transform:translate(4px)}.more-link:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,#f8e6b0,#d7b16e);transition:width .24s ease}.more-link:hover:after,.more-link:focus-visible:after{width:100%}.more-link:hover .arrow,.more-link:focus-visible .arrow{transform:translate(4px)}.arrow{display:inline-flex;transition:transform .18s ease}.project-card-link{display:grid;gap:18px;color:inherit;text-decoration:none;min-height:220px}.project-card-link:hover h3,.project-card-link:focus-visible h3{color:#f8e6b0}.project-detail-page .project-detail-meta{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.project-detail-page .project-detail-meta div{padding:22px;border-radius:22px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.project-detail-page .project-detail-meta strong{display:block;margin-bottom:10px;color:#f8e6b0;letter-spacing:.14em;text-transform:uppercase;font-size:.84rem}.github-link{display:inline-flex;align-items:center;gap:8px;color:#f8e6b0;text-decoration:none}.github-link:hover,.github-link:focus-visible{text-decoration:underline}.project-tech-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.project-tech-pill{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;background:#f8e6b014;color:#f8e6b0;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.project-tech-pill:hover{transform:translateY(-2px);box-shadow:0 10px 22px #f8e6b01f;background:#f8e6b024}.project-tech-pill svg{width:18px;height:18px}.project-detail-body h2{margin-top:0}.project-detail-footer{display:flex;justify-content:center;margin-top:18px}.project-detail-footer .more-link{margin-top:0}.contact-page .section{max-width:720px;margin-left:auto;margin-right:auto}.contact-form{display:grid;gap:18px}.form-row{display:grid;gap:10px}.form-row label{color:#e7e6e2d1;font-size:.95rem;font-weight:600}.contact-form-input,.contact-form-textarea{width:100%;padding:18px 20px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:#0e0e0ef2;color:#f6f5f2;font-size:.97rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease;animation:fade-up 1s ease both}.contact-form-input:focus,.contact-form-textarea:focus{border-color:#f8e6b073;box-shadow:0 0 0 4px #f8e6b014;transform:translateY(-2px);background:#161616fa}.contact-form-submit{animation:fade-up 1s ease both;animation-delay:.18s}.contact-form-textarea{min-height:180px;resize:vertical}.contact-form-submit{align-self:flex-start;padding:16px 26px;border-radius:999px;border:none;background:linear-gradient(135deg,#d7b16e,#f8e6b0);color:#050505;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;animation:fade-up 1s ease both}.contact-form-submit:hover,.contact-form-submit:focus-visible{transform:translateY(-3px) scale(1.01);box-shadow:0 18px 38px #f8e6b047;filter:brightness(1.02)}.site-footer{margin-top:64px;padding:24px 24px 36px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#e7e6e2b8;font-size:.95rem;border-top:1px solid rgba(255,255,255,.08);animation:fade-up 1s ease both;animation-delay:.1s;transform-origin:top center}.site-footer p{animation:fade-up .8s ease both}.page.notfound-shell{min-height:100vh;max-width:none;border-radius:0;box-shadow:none;background:transparent;padding:0}.notfound-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 24px;background:radial-gradient(circle at top left,rgba(248,230,176,.16),transparent 20%),radial-gradient(circle at 95% 15%,rgba(81,164,255,.14),transparent 17%),linear-gradient(180deg,#050505,#070709)}.notfound-card{position:relative;max-width:980px;width:100%;padding:64px;border-radius:44px;background:#0a0a0ceb;border:1px solid rgba(248,230,176,.12);box-shadow:0 42px 120px #00000052;overflow:hidden}.notfound-illustration{display:flex;align-items:center;justify-content:center;width:100%;min-height:320px;max-width:360px;margin:0 auto;border-radius:38px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff0d,0 20px 60px #00000047}.notfound-eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.24em;color:#f8e6b0;font-weight:700;font-size:.92rem}.notfound-copy h1{margin:0;font-size:clamp(3rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.04em;color:#f9f7ef}.notfound-copy p{margin:26px 0 0;color:#d7d5cc;font-size:1rem;line-height:1.9;max-width:680px}.notfound-card{position:relative;max-width:980px;width:100%;padding:64px;border-radius:44px;background:#0a0a0ceb;border:1px solid rgba(248,230,176,.12);box-shadow:0 42px 120px #00000052;overflow:hidden;animation:fade-up 1s ease both}.notfound-card:before{content:"";position:absolute;top:-24%;right:-22%;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(248,230,176,.16),transparent 52%);filter:blur(20px)}.notfound-card:after{content:"";position:absolute;bottom:-24%;left:-24%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(81,164,255,.14),transparent 56%);filter:blur(22px)}.notfound-hero{display:grid;gap:36px}.notfound-copy{position:relative;z-index:1}.notfound-illustration{display:flex;align-items:center;justify-content:center;width:100%;min-height:320px;max-width:360px;margin:0 auto;border-radius:38px;background:#ffffff05;box-shadow:inset 0 0 0 1px #ffffff0d,0 20px 60px #00000047;animation:pop-in .9s ease both}.notfound-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:24px;position:relative;z-index:1}.notfound-action-btn{min-width:180px;min-height:52px;padding:0 26px;border:1px solid rgba(248,230,176,.18);border-radius:999px;background:#ffffff0f;color:#e7e6e2;font-size:.95rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative}.notfound-action-btn:after{content:"→";display:inline-block;transform:translate(0);transition:transform .18s ease}.notfound-action-btn:hover,.notfound-action-btn:focus-visible{background:#f8e6b02e;color:#f8e6b0;border-color:#f8e6b04d;transform:translateY(-2px);box-shadow:0 18px 40px #f8e6b01f}.notfound-action-btn:hover:after,.notfound-action-btn:focus-visible:after{transform:translate(6px)}@media (min-width: 960px){.notfound-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}.notfound-illustration{margin:0;min-height:360px}}.notfound-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px;justify-content:center}.notfound-actions .more-link{padding:14px 26px}.notfound-actions .more-link .arrow{margin-left:10px}.site-footer{margin-top:64px;padding:24px 24px 36px;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;gap:24px;color:#e7e6e2b8;font-size:.95rem;border-top:1px solid rgba(255,255,255,.08);animation:fade-up 1s ease both;animation-delay:.1s;transform-origin:top center}.site-footer p,.site-footer a{margin:0}.footer-copy{justify-self:start;color:#e7e6e2b8}.footer-links{display:flex;justify-content:center;align-items:center;gap:16px;justify-self:center;margin-top:6px}.footer-email{justify-self:end;color:#e7e6e2b8;text-decoration:none;transition:color .18s ease}.footer-email:hover,.footer-email:focus-visible{color:#f8e6b0}.footer-link{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:#f6f5f2;background:#ffffff0a;transition:transform .18s ease,background .18s ease,color .18s ease}.footer-link:hover,.footer-link:focus-visible{transform:translateY(-2px);background:#f8e6b01f;color:#f8e6b0}.projects-page-hero h1,.about-page .projects-page-hero h1{margin:0 0 12px}.projects-page-hero p,.about-page .projects-page-hero p{margin:0;color:#dcd9cf}.about-details p{margin:0;line-height:1.9;color:#d7d5cc}.about-section{margin-top:32px;padding-top:32px;border-top:1px solid rgba(248,230,176,.14)}.about-section:first-child{margin-top:24px;padding-top:0;border-top:none}.about-details h3{margin:0 0 16px;font-size:1.18rem;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#f8e6b0}.technologies-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.tech-pill{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:999px;background:#f8e6b01a;color:#f8e6b0;font-size:.95rem;font-weight:700;border:1px solid rgba(248,230,176,.18);transition:transform .22s ease,background .22s ease,border-color .22s ease}.tech-pill:hover{transform:translateY(-3px);background:#f8e6b02e;border-color:#f8e6b047}.tech-icon{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center}.tech-icon svg{display:block;width:20px;height:20px}.page{opacity:0;transform:translateY(16px);transition:opacity .42s ease,transform .42s ease}.page.loaded{opacity:1;transform:translateY(0)}.page.transitioning{opacity:0;transform:translateY(16px);pointer-events:none}@media (max-width: 980px){.projects-grid,.technologies-grid{grid-template-columns:1fr}}.page.light{background:#f5f3ed;color:#1f1f1f}body.light-theme{background:#f5f3ed}body.dark-theme{background:#050505}#root{background:transparent}.page{border-radius:30px;overflow:hidden;background:#050505;box-shadow:none}.page.light .hero{background:#fffdfa;border-color:#1b1f231a;box-shadow:none}.page.light .hero:before{background:none}.page.light .nav a{color:#1f1f1f}.page.light .nav a:after{background:linear-gradient(90deg,#b38b35,#f8e6b0)}.page.light .nav a:hover,.page.light .nav a:focus-visible{color:#b38b35}.page.light .topbar-actions,.page.light .language-switch,.page.light .theme-switch{border-color:#1f1f1f1f;background:#ffffffb8}.page.light .lang-btn,.page.light .theme-btn{color:#1f1f1f}.page.light .lang-btn.active,.page.light .theme-btn.active{color:#1f1f1f;background:#f3db813d}.page.light .section{background:#ffffffd1;border-color:#1f1f1f14}.page.light .section p{color:#464646}.page.light .eyebrow{color:#6b6b6b}.page.light h1{color:#141414}.page.light .tagline{color:#4f4f4f}.section h2{margin:0 0 16px;font-size:1.8rem;letter-spacing:-.03em}.section p{margin:0;color:#c8cad0;font-size:1rem;line-height:1.85}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:56px;align-items:center;min-height:calc(100vh - 150px);padding:64px 64px 64px 72px;border-radius:42px;border:1px solid rgba(255,255,255,.06);background:#050505;box-shadow:none;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at 78% 22%,rgba(248,230,176,.16),transparent 24%),radial-gradient(circle at 22% 70%,rgba(81,164,255,.1),transparent 18%);opacity:.45;filter:blur(24px);mix-blend-mode:screen;z-index:0;animation:hero-glow-drift 18s ease-in-out infinite alternate,hero-glow-shift 26s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;left:-10%;top:-10%;width:420px;height:420px;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(248,230,176,.14),transparent 28%),radial-gradient(circle at 75% 75%,rgba(81,164,255,.08),transparent 22%);opacity:.34;filter:blur(28px);mix-blend-mode:screen;z-index:0;animation:hero-glow-orbit 22s ease-in-out infinite,hero-glow-pulse 10s ease-in-out infinite alternate}.hero-copy{position:relative;z-index:1;animation:fade-up 1s ease-out both,hero-copy-float 12s ease-in-out infinite alternate}.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.26em;color:#a8a9ad;font-size:.92rem;font-weight:700;animation:hero-text-float 8s ease-in-out infinite alternate}.more-link{animation:fade-up 1s ease-out both,hero-button-bounce 5s ease-in-out infinite;animation-delay:.2s}.more-link .arrow{display:inline-flex;transition:transform .18s ease;animation:float-arrow 2.2s ease-in-out infinite}.hero-graphic:hover{transform:scale(1.03)}.hero-graphic{transition:transform .36s ease}h1{margin:0;font-size:clamp(3.4rem,7vw,5.8rem);line-height:.94;letter-spacing:-.04em;color:#f9f7ef;font-weight:800}.tagline{margin:26px 0 0;max-width:680px;font-size:1.08rem;line-height:1.9;color:#dad8d2;font-weight:500}.hero-graphic{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;animation:float-graphic 10s ease-in-out infinite,hero-graphic-breathe 12s ease-in-out infinite,hero-graphic-sway 34s ease-in-out infinite;transition:transform .24s ease}.hero-graphic:hover{transform:scale(1.04)}.hero-graphic:before{content:"";position:absolute;left:35%;top:40%;width:320px;height:320px;transform:translate(-50%,-50%) rotate(0);border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(248,230,176,.18) 0%,rgba(81,164,255,.1) 44%,transparent 62%);opacity:.5;filter:blur(26px);mix-blend-mode:screen;z-index:0;animation:hero-graphic-glow 6s ease-in-out infinite alternate,hero-glow-rotate 28s linear infinite}.hero-graphic:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border-radius:999px;box-shadow:none;filter:none;opacity:0}.rings{width:300px;height:300px;position:relative;transform-origin:center center;animation:rotate-rings 24s linear infinite}.rings:before{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:999px;background:#f8e6b0f2;box-shadow:none;animation:pulse-center 2.8s ease-in-out infinite}.rings span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:1px solid rgba(255,225,166,.6);animation:pulse-ring 6s ease-in-out infinite}.rings span:nth-child(2){top:18px;right:18px;bottom:18px;left:18px;opacity:.92;animation-delay:.35s;animation:pulse-ring 6s ease-in-out infinite reverse}.rings span:nth-child(3){top:38px;right:38px;bottom:38px;left:38px;opacity:.82;animation-delay:.7s}.rings span:nth-child(4){top:60px;right:60px;bottom:60px;left:60px;opacity:.72;animation-delay:1.05s;animation-direction:reverse}.rings span:nth-child(5){top:82px;right:82px;bottom:82px;left:82px;opacity:.62;animation-delay:1.4s}.rings span:nth-child(6){top:108px;right:108px;bottom:108px;left:108px;opacity:.52;animation-delay:1.75s;animation-direction:reverse}@keyframes rotate-rings{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-ring{0%,to{transform:scale(1);border-color:#ffe1a699}50%{transform:scale(.98);border-color:#f8e6b0e6}}@keyframes float-graphic{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes hero-copy-float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes hero-text-float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes hero-button-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hero-glow-drift{0%{transform:translate(0);opacity:.42}50%{transform:translate(10px,8px);opacity:.5}to{transform:translate(-8px,-10px);opacity:.43}}@keyframes hero-glow-orbit{0%{transform:translate(0) scale(1)}35%{transform:translate(16px,8px) scale(1.02)}70%{transform:translate(-10px,14px) scale(1.05)}to{transform:translate(0) scale(1)}}@keyframes hero-glow-pulse{0%{opacity:.34}50%{opacity:.5}to{opacity:.34}}@keyframes hero-graphic-glow{0%{transform:translate(-50%,-50%) scale(.96);opacity:.45}50%{transform:translate(-50%,-50%) scale(1.05);opacity:.55}to{transform:translate(-50%,-50%) scale(.98);opacity:.48}}@keyframes hero-glow-rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes hero-graphic-sway{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes hero-graphic-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.01)}}@keyframes pulse-center{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.25);opacity:.7}}@media (max-width: 900px){.topbar{display:grid;grid-template-columns:1fr;gap:18px;text-align:center;padding:18px 18px 22px;min-height:auto}.topbar-left,.topbar-right{position:static;transform:none;width:100%;left:auto;top:auto;right:auto}.topbar-actions{justify-content:center}.nav{justify-content:center;gap:14px}.nav a{font-size:.9rem}.hero{grid-template-columns:1fr;padding:48px 24px;min-height:auto}.hero-copy{text-align:center}.hero-graphic{margin:32px auto 0;max-width:100%;width:min(100%,420px)}.section{padding:32px 20px;margin-top:42px}.projects-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.footer-copy,.footer-links,.footer-email{justify-self:center}.footer-links{flex-wrap:wrap;gap:12px;margin-top:14px}.footer-email{margin-top:12px}.notfound-card,.section{border-radius:30px}}@media (max-width: 600px){.page{padding:0 12px}.topbar{padding:16px 14px 20px}.hero{padding:34px 18px;border-radius:26px}.hero-copy{gap:16px}.hero-graphic{margin-top:28px}.typewriter{font-size:clamp(2.5rem,10vw,4rem)}h1{font-size:2.6rem}.section{padding:28px 16px;margin-top:34px}.projects-grid{gap:18px}.project-card{padding:24px}.more-link{width:100%;justify-content:center;padding:16px 18px}.notfound-card{padding:40px 24px;border-radius:28px}.notfound-illustration{min-height:260px;border-radius:28px}}
