@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=Caveat:wght@500;600;700&display=swap);:root{--bg:#f4efe6;--bg-card:#deebf05d;--bg-card-hover:#fff3d8;--text:#31487a;--text-muted:#536878;--border:#ddd4bc;--shadow:0 2px 14px #31487a12;--shadow-hover:0 10px 36px #31487a21;--accent:#5b97c5;--nav-bg:#fff7e6f0;--nav-border:rgba(49,72,122,.211);--nav-shadow:0 8px 32px #31487a2e,0 2px 8px #31487a1a;--nav-text:rgba(11,32,77,.468);--nav-text-hover:#31487ad1;--nav-hover-bg:#31487a12;--nav-active-color:#536878;--nav-active-bg:#0f518424}[data-theme=dark]{--bg:#02071a;--bg-card:#151b28;--bg-card-hover:#80a0f2;--text:#f3eadd;--text-muted:#aaa9a7;--border:#2f3747;--shadow:0 2px 14px #0009;--shadow-hover:0 10px 36px #000c;--accent:#659bb9;--nav-bg:#090718f0;--nav-border:rgba(39,100,150,.766);--nav-shadow:0 16px 48px #0009,0 4px 16px #00000059;--nav-text:hsla(42,43%,88%,.455);--nav-text-hover:#dfd9cabf;--nav-hover-bg:#fff7e60f;--nav-active-color:#efe8d5d4;--nav-active-bg:rgba(92,150,181,.322)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background:#f4efe6;background:var(--bg);color:#31487a;color:var(--text);font-family:Inter,-apple-system,sans-serif;line-height:1.6;transition:background .3s,color .3s}h1,h2,h3,h4,h5{font-family:Space Grotesk,Inter,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:#659bb92e;color:#31487a;color:var(--text)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#b0b8c0;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#5b97c5;background:var(--accent)}main{padding-bottom:8rem}@media (max-width:600px){main{padding-bottom:72px}}.hero-section{background:#f4efe6;background:var(--bg);overflow:hidden;position:relative}.hero-center{align-items:center;display:flex;gap:clamp(2rem,5vw,5rem);justify-content:center;min-height:100vh;padding:5rem clamp(1.5rem,6vw,5rem);position:relative;width:100%;z-index:2}.hero-avatar-col{align-items:flex-end;display:flex;flex-shrink:0}.hero-avatar-img{display:block;height:auto;object-fit:contain;width:clamp(160px,18vw,260px)}.hero-content-col{max-width:580px}.section-wrap{padding:clamp(4rem,7vw,6.5rem) clamp(1.5rem,5vw,4.5rem)}.section-inner{margin:0 auto;max-width:1080px}.lbl{display:block;font-size:.6rem;font-weight:700;letter-spacing:.24em;margin-bottom:.6rem;text-transform:uppercase}.lbl-light{color:#536878;color:var(--text-muted)}.lbl-dark{color:#fff7e647}.s-heading{font-family:Space Grotesk,Inter,sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.s-heading-light{color:#31487a;color:var(--text)}.s-heading-dark{color:#fff7e6}.about-flex{align-items:flex-start;display:flex;flex-wrap:wrap;gap:4rem}.about-photo-col{align-items:center;display:flex;flex-direction:column;flex-shrink:0;width:140px}.about-photo-ring{border:2px solid #ddd4bc;border:2px solid var(--border);border-radius:50%;height:140px;margin-bottom:.85rem;overflow:hidden;width:140px}.about-bio-col{flex:1 1;min-width:250px}.proj-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.proj-all{align-items:center;color:#31487a;color:var(--text);display:inline-flex;font-family:Space Grotesk,sans-serif;font-size:.66rem;font-weight:700;gap:.6rem;letter-spacing:.14em;margin-bottom:2.4rem;text-decoration:none;text-transform:uppercase}.proj-all-icon{border:1.5px solid #ddd4bc;border:1.5px solid var(--border);border-radius:50%;display:grid;height:30px;place-items:center;transition:background .3s,color .3s,border-color .3s,transform .3s;width:30px}.proj-all:hover .proj-all-icon{background:#5b97c5;background:var(--accent);border-color:#5b97c5;border-color:var(--accent);color:#fff;transform:rotate(45deg)}.proj-rows{flex-direction:column}.proj-row,.proj-rows{display:flex;gap:1rem}.proj-row{height:290px}.pcard{--pc-tint:#5b97c521;--pc-open:#fbf8f2;background:var(--pc-tint);border:1px solid #0000;border-radius:22px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;isolation:isolate;min-width:0;outline:none;overflow:hidden;padding:1.5rem 1.5rem 1.25rem;position:relative;transition:flex-grow .6s cubic-bezier(.22,1,.36,1),background .4s,border-color .4s,box-shadow .4s}[data-theme=dark] .pcard{--pc-tint:#659bb91f;--pc-open:#0c1430}.pcard--open{background:var(--pc-open);border-color:#ddd4bc;border-color:var(--border);box-shadow:0 2px 14px #31487a12;box-shadow:var(--shadow);cursor:default;flex-grow:1.7}.pcard:focus-visible{border-color:#5b97c5;border-color:var(--accent)}.pcard-body{display:flex;flex:1 1;gap:1.25rem;min-height:0}.pcard-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.pcard-label{color:#5b97c5;color:var(--accent);font-size:.56rem;font-weight:700;letter-spacing:.18em;margin-bottom:.6rem;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.pcard-title{color:#31487a;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:1.12rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}.pcard-details{overflow:hidden}.pcard-impact{border-left:2px solid #5b97c5;border-left:2px solid var(--accent);color:#5b97c5;color:var(--accent);font-family:Space Grotesk,sans-serif;font-size:.74rem;font-weight:700;line-height:1.45;margin-top:.55rem;padding-left:.6rem}.pcard-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#536878;color:var(--text-muted);display:-webkit-box;font-size:.8rem;line-height:1.7;margin-top:.7rem;overflow:hidden}.pcard-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.8rem}.pcard-tag{background:#f4efe6;background:var(--bg);border:1px solid #ddd4bc;border:1px solid var(--border);border-radius:999px;color:#536878;color:var(--text-muted);font-size:.64rem;font-weight:500;padding:.16rem .55rem}.pcard-tag--more{color:#5b97c5;color:var(--accent);cursor:help}.pcard-foot{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-top:.75rem}.pcard-links{display:flex;gap:1.1rem}.pcard-more{color:#536878;color:var(--text-muted);font-size:.68rem}.pcard-links a,.pcard-more{font-family:Space Grotesk,sans-serif;font-weight:700}.pcard-links a{align-items:center;border-bottom:1.5px solid #ddd4bc;border-bottom:1.5px solid var(--border);color:#31487a;color:var(--text);display:inline-flex;font-size:.72rem;gap:.25rem;padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.pcard-links a:hover{border-color:#5b97c5;border-color:var(--accent);color:#5b97c5;color:var(--accent)}.pcard-go{background:#f4efe6;background:var(--bg);border:1.5px solid #ddd4bc;border:1.5px solid var(--border);border-radius:50%;color:#31487a;color:var(--text);display:grid;flex-shrink:0;height:36px;margin-left:auto;place-items:center;transition:transform .5s cubic-bezier(.22,1,.36,1),background .3s,color .3s,border-color .3s;width:36px}.pcard--open .pcard-go{background:#5b97c5;background:var(--accent);border-color:#5b97c5;border-color:var(--accent);color:#fff;transform:rotate(45deg)}.pcard--open .pcard-go:hover{transform:rotate(45deg) scale(1.08)}@media (max-width:900px){.proj-row{flex-direction:column;height:auto}.pcard{flex:none}}@media (prefers-reduced-motion:reduce){.pcard,.pcard-go{transition:none}}.skills-card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.skill-card{--pc-tint:#5b97c521;background:var(--pc-tint);border:1px solid #0000;border-radius:22px;isolation:isolate;overflow:hidden;padding:1.5rem 1.5rem 1.6rem;position:relative;transition:border-color .2s,box-shadow .2s}[data-theme=dark] .skill-card{--pc-tint:#659bb91f}.skill-card:hover{border-color:#5b97c5;border-color:var(--accent);box-shadow:0 10px 36px #31487a21;box-shadow:var(--shadow-hover)}.skill-pills-wrap{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1rem}.skill-pills-wrap .pcard-tag{cursor:default;font-size:.72rem;padding:.22rem .7rem;transition:border-color .2s,color .2s}.skill-pills-wrap .pcard-tag:hover{border-color:#5b97c5;border-color:var(--accent);color:#31487a;color:var(--text)}.floating-nav{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:#fff7e6f0;background:var(--nav-bg);border:1px solid rgba(49,72,122,.211);border:1px solid var(--nav-border);border-radius:60px;bottom:4.5rem;box-shadow:0 8px 32px #31487a2e,0 2px 8px #31487a1a;box-shadow:var(--nav-shadow);display:flex;flex-direction:row;gap:3px;left:50%;padding:7px 8px;position:fixed;transform:translateX(-50%);transition:background .3s,border-color .3s,box-shadow .3s;white-space:nowrap;z-index:1000}.floating-nav-btn{align-items:center;background:#0000;border:none;border-radius:54px;color:rgba(11,32,77,.468);color:var(--nav-text);cursor:pointer;display:flex;flex-direction:column;gap:5px;justify-content:center;padding:4px 20px;transition:color .2s,background .2s,transform .2s;white-space:nowrap}.floating-nav-btn:hover{background:#31487a12;background:var(--nav-hover-bg);color:#31487ad1;color:var(--nav-text-hover)}.floating-nav-btn.active{background:#0f518424;background:var(--nav-active-bg);color:#536878;color:var(--nav-active-color)}.fnav-icon{align-items:center;display:flex}.fnav-label{font-family:Space Grotesk,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase}.floating-nav-btn.transiting{background:#0f518424;background:var(--nav-active-bg);color:#536878;color:var(--nav-active-color);opacity:.6;transition:color .12s,background .12s,opacity .12s}.theme-toggle-btn{align-items:center;animation:toggle-pulse 3s ease-in-out infinite;border:1.5px solid #5b97c5;border:1.5px solid var(--accent);border-radius:50%;box-shadow:0 0 0 0 #5b97c559,0 2px 14px #31487a12;box-shadow:0 0 0 0 #5b97c559,var(--shadow);color:#5b97c5;color:var(--accent);cursor:pointer;display:flex;height:46px;justify-content:center;position:fixed;right:1.1rem;top:1.1rem;transition:background .2s,box-shadow .2s,transform .2s;width:46px;z-index:1001}.theme-toggle-btn,.theme-toggle-btn:hover{background:#deebf05d;background:var(--bg-card)}.theme-toggle-btn:hover{box-shadow:0 0 0 6px #5b97c52e,0 10px 36px #31487a21;box-shadow:0 0 0 6px #5b97c52e,var(--shadow-hover);transform:scale(1.08)}@keyframes toggle-pulse{0%,to{box-shadow:0 0 0 0 #5b97c547,0 2px 14px #31487a12;box-shadow:0 0 0 0 #5b97c547,var(--shadow)}50%{box-shadow:0 0 0 7px #5b97c51a,0 2px 14px #31487a12;box-shadow:0 0 0 7px #5b97c51a,var(--shadow)}}@keyframes toggle-pop{0%{transform:scale(1)}35%{transform:scale(.82) rotate(15deg)}70%{transform:scale(1.18) rotate(-8deg)}to{transform:scale(1) rotate(0deg)}}@keyframes toggle-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.theme-toggle-pop{animation:toggle-pop .48s cubic-bezier(.34,1.56,.64,1)!important}.theme-toggle-spin{animation:toggle-spin .42s ease-out}.link-underline{position:relative}.link-underline:after{background:#5b97c5;background:var(--accent);content:"";display:block;height:1.5px;margin-top:2px;position:absolute;right:0;transition:width .22s;width:0}.link-underline:hover:after{left:0;width:100%}@keyframes bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.bounce-y{animation:bounce-y 1.8s ease-in-out infinite}@keyframes spin-once{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hover-spin{animation:spin-once .45s linear}@media (max-width:900px){.hero-text-col{padding:5rem clamp(1.5rem,5vw,4.5rem)}}@media (max-width:768px){.about-flex{flex-direction:column;gap:2.5rem}.about-photo-col{align-items:center;flex-direction:row;gap:1.25rem;width:auto}.about-photo-ring{height:80px;margin-bottom:0;width:80px}.skills-card-grid{grid-template-columns:1fr}}@media (max-width:600px){footer{display:none!important}.floating-nav{border:1px solid rgba(49,72,122,.211);border:1px solid var(--nav-border);border-radius:60px;bottom:1.1rem;gap:2px;left:50%;max-width:calc(100vw - 1.5rem);padding:5px 6px;right:auto;transform:translateX(-50%)}.floating-nav-btn{border-radius:54px;flex:0 0 auto;padding:8px 11px}.section-wrap{padding:clamp(3rem,6vw,5rem) 1.5rem}main{padding-bottom:5.5rem}}@media (max-width:700px){.hero-center{align-items:center;flex-direction:column;gap:1.5rem;justify-content:center;padding-top:4.5rem;text-align:center}.hero-avatar-img{width:clamp(120px,35vw,180px)}.hero-content-col{max-width:100%}}@media (max-width:480px){.fnav-label{display:none}.floating-nav-btn{gap:0;padding:9px 10px}.hero-text-col{padding:4rem 1.5rem}.about-bio-col{min-width:0}.s-heading{font-size:clamp(1.7rem,8vw,2.4rem);margin-bottom:1.75rem}.skill-card{padding:1.1rem 1.2rem}}.hero-line{display:block}@media (min-width:769px){.hero-line{white-space:nowrap}}.nav-cat{-webkit-tap-highlight-color:transparent;background:none;border:none;bottom:calc(100% - 3px);cursor:pointer;height:30px;left:0;margin-left:-22px;padding:0;position:absolute;width:44px}.nav-cat-flip{transition:transform .15s}.cat,.nav-cat-flip{display:block;height:100%;width:100%}.cat{overflow:visible}.cat-fill{fill:var(--text)}.cat-eye{fill:var(--bg)}.cat-closed,.cat-whisker{fill:none;stroke:var(--bg);stroke-width:1;stroke-linecap:round}.cat-whisker{stroke:var(--text);stroke-width:.8;opacity:.6}.cat-tail,.cat-tail-curl{fill:none;stroke:var(--text);stroke-width:3;stroke-linecap:round}.cat-legs line{stroke:var(--text);stroke-width:2.6;stroke-linecap:round}.cat--walk .cat-legs--a{animation:cat-step .32s ease-in-out infinite alternate;transform-origin:21px 20px}.cat--walk .cat-legs--b{animation:cat-step .32s ease-in-out infinite alternate-reverse;transform-origin:21px 20px}.cat--walk .cat-bodygroup{animation:cat-bob .32s ease-in-out infinite alternate}.cat--walk .cat-tail{transform:rotate(18deg);transform-origin:10px 17px}@keyframes cat-step{0%{transform:skewX(-14deg)}to{transform:skewX(14deg)}}@keyframes cat-bob{0%{transform:translateY(0)}to{transform:translateY(-.8px)}}.cat--idle .cat-tail{animation:cat-swish 1.6s ease-in-out infinite;transform-origin:10px 17px}.cat--idle .cat-eye{animation:cat-blink 3.2s infinite;transform-origin:36.8px 11.8px}@keyframes cat-swish{0%,to{transform:rotate(-10deg)}50%{transform:rotate(16deg)}}@keyframes cat-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.cat-breathe{animation:cat-breathe 2.6s ease-in-out infinite;transform-origin:20px 28px}@keyframes cat-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.07)}}.nav-cat-z{bottom:70%;left:70%;pointer-events:none;position:absolute}.nav-cat-z i{animation:cat-z 2.7s ease-out infinite;bottom:0;color:var(--accent);font-family:Caveat,cursive;font-style:normal;font-weight:700;left:0;opacity:0;position:absolute}.nav-cat-z i:first-child{font-size:.7rem}.nav-cat-z i:nth-child(2){animation-delay:.9s;font-size:.85rem}.nav-cat-z i:nth-child(3){animation-delay:1.8s;font-size:1rem}@keyframes cat-z{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(12px,-18px)}}.nav-cat-meow{animation:cat-meow 1.1s ease-out forwards;background:var(--text);border-radius:10px;bottom:112%;color:var(--bg);font-family:Caveat,cursive;font-size:1rem;font-weight:600;left:50%;padding:.1rem .5rem;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}@keyframes cat-meow{0%{opacity:0;transform:translate(-50%,4px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){.cat *,.nav-cat-z i{animation:none!important}.nav-cat-z i:first-child{opacity:1}}
/*# sourceMappingURL=main.3ccae28a.css.map*/