.os-root{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:radial-gradient(at 18% 22%,rgba(255,199,150,.85) 0,transparent 42%),radial-gradient(at 82% 18%,rgba(255,188,214,.7) 0,transparent 40%),radial-gradient(at 78% 82%,rgba(196,178,240,.7) 0,transparent 45%),radial-gradient(at 22% 84%,rgba(255,224,178,.8) 0,transparent 45%),linear-gradient(135deg,#fdf3ea,#f3eefb);opacity:0;transition:opacity .6s ease}.os-root.booted{opacity:1}.os-boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#16121f;color:#fff;animation:osBootOut .6s ease forwards 1.5s}.os-boot-logo{font-size:64px;animation:osPulse 1.2s ease-in-out infinite}.os-boot-name{font-family:"DM Serif Display",Georgia,serif;font-size:30px;letter-spacing:1px}.os-boot-line{font-size:14px;color:#ffffffa6;margin-top:4px;min-height:18px}@keyframes osPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}@keyframes osBootOut{to{opacity:0;visibility:hidden}}.os-menubar{position:absolute;top:0;left:0;right:0;height:30px;z-index:5000;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13.5px;color:#2a2433;background:#ffffff8c;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}.os-menubar-left,.os-menubar-right{display:flex;align-items:center;gap:18px}.os-logo{font-size:15px}.os-menu-active{font-weight:700}.os-menu-item{font-weight:500;opacity:.8;cursor:default}.os-desktop-icons{position:absolute;top:48px;right:24px;z-index:100;display:flex;flex-direction:column;gap:8px}.os-desktop-icon{display:flex;flex-direction:column;align-items:center;gap:4px;width:92px;padding:10px 6px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:background .15s ease}.os-desktop-icon:hover{background:#fff6}.os-desktop-icon-glyph{font-size:38px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.12))}.os-desktop-icon-label{font-size:12.5px;font-weight:600;color:#2b2433;background:#fff9;padding:1px 8px;border-radius:6px}.os-window{position:absolute;background:#fff;border-radius:12px;box-shadow:0 12px 36px #0000002e,0 1px 4px #0000001a;overflow:hidden;display:flex;flex-direction:column;animation:osWinIn .22s cubic-bezier(.22,1,.36,1);transition:box-shadow .2s ease}.os-window--focused{box-shadow:0 26px 70px #00000052,0 2px 8px #00000024}@keyframes osWinIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.os-window-bar{height:40px;display:flex;align-items:center;padding:0 14px;background:#f3f1f4;border-bottom:1px solid rgba(0,0,0,.06);cursor:grab;-webkit-user-select:none;user-select:none}.os-window-bar:active{cursor:grabbing}.os-traffic{display:flex;gap:8px;width:60px}.os-traffic-spacer{width:60px}.tl{width:13px;height:13px;border-radius:50%;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.tl span{font-size:9px;font-weight:800;line-height:1;opacity:0}.os-traffic:hover .tl span{opacity:1}.tl-red{background:#ff5f57}.tl-red span{color:#6e0500}.tl-yellow{background:#febc2e}.tl-yellow span{color:#6e4900}.tl-green{background:#28c840}.tl-green span{color:#054d12}.os-window-title{flex:1;text-align:center;font-size:13.5px;font-weight:600;color:#4a4452}.os-window-body{padding:22px;max-height:70vh;overflow-y:auto}.os-about{display:flex;gap:20px;align-items:flex-start}.os-sticker{position:relative;flex-shrink:0;transform:rotate(-4deg);transition:transform .25s ease}.os-sticker:hover{transform:rotate(0) scale(1.04)}.os-sticker:before{content:"";position:absolute;top:-11px;left:50%;transform:translate(-50%) rotate(2.5deg);width:60px;height:22px;background:#ffec96b8;box-shadow:0 1px 3px #0000001f}.os-about-photo{display:block;width:132px;height:164px;object-fit:cover;border-radius:4px;border:8px solid #fff;box-shadow:0 12px 26px #00000038;background:#e9e6ef}.os-about-hi{font-size:15px;color:#a86a3d;font-weight:600}.os-about-name{font-family:"DM Serif Display",Georgia,serif;font-size:32px;margin:2px 0}.os-about-role{font-size:16px;font-weight:600;color:#444;margin-bottom:10px}.os-about-bio{font-size:14.5px;line-height:1.55;color:#555}.os-about-links{display:flex;gap:10px;margin-top:16px}.os-about-links a{font-size:13px;font-weight:600;text-decoration:none;color:#fff;background:#1a1a1a;padding:8px 16px;border-radius:999px}.os-finder{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.os-finder-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border:none;background:transparent;border-radius:12px;cursor:pointer;transition:background .15s ease}.os-finder-item:hover{background:#f1eff4}.os-finder-folder{position:relative}.os-live-dot{position:absolute;top:-2px;right:2px;width:11px;height:11px;background:#2ecc71;border:2px solid #fff;border-radius:50%}.os-wip-dot{position:absolute;top:-2px;right:2px;width:11px;height:11px;background:#f5a623;border:2px solid #fff;border-radius:50%;animation:wipPulse 1.7s ease-in-out infinite}@keyframes wipPulse{0%,to{box-shadow:0 0 #f5a62380}50%{box-shadow:0 0 0 4px #f5a62300}}.os-wip-banner{display:inline-block;background:#fff4e0;color:#b7791f;border:1px solid #f3d39b;font-size:12.5px;font-weight:700;padding:6px 12px;border-radius:999px;margin-bottom:12px}.os-finder-name{font-size:12.5px;font-weight:700;text-align:center;color:#333;line-height:1.25}.os-finder-desc{font-size:11px;line-height:1.32;color:#8f8a92;text-align:center}.os-finder-badge{font-size:10.5px;font-weight:700;color:#6a5a4a;background:#f1ece4;border-radius:999px;padding:3px 9px;text-align:center}.os-demo{position:relative;width:100%;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#000;margin-bottom:14px}.os-demo iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.os-project-tagline{font-size:15px;font-weight:600;color:#b0623f;margin-bottom:10px}.os-project-desc{font-size:14px;line-height:1.6;color:#555}.os-results{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.os-result{flex:1;min-width:90px;text-align:center;background:#f7f6f4;border-radius:10px;padding:12px 8px}.os-result b{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:22px;color:#1a1a1a}.os-result span{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:#888}.os-tech{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.os-tech-badge{font-size:12px;font-weight:600;color:#555;background:#f0eef2;padding:5px 11px;border-radius:999px}.os-project-links{display:flex;flex-wrap:wrap;gap:18px;margin:4px 0 14px}.os-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#c4622f;text-decoration:none}.os-link:hover{color:#a14a1e}.os-link-ext{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1.6px solid currentColor;border-radius:5px;font-size:10px;line-height:1}.os-btn{font-size:13px;font-weight:600;text-decoration:none;color:#fff;background:#6c5ce7;padding:9px 18px;border-radius:10px}.os-btn.ghost{background:#24292e}.os-exp{display:flex;flex-direction:column;gap:4px}.os-exp-item{display:flex;gap:14px;padding-bottom:18px;position:relative}.os-exp-item:not(:last-child){border-left:2px solid #eee;margin-left:5px;padding-left:18px}.os-exp-item:last-child{margin-left:7px;padding-left:16px}.os-exp-dot{position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#f4a582;border:2px solid #fff}.os-exp-role{font-size:15px;font-weight:700}.os-exp-role span{font-weight:600;color:#666}.os-exp-meta{font-size:12.5px;color:#999;margin:2px 0 6px}.os-exp-summary{font-size:13.5px;line-height:1.5;color:#555}.os-skills{display:flex;flex-direction:column;gap:16px}.os-skill-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#999;margin-bottom:8px}.os-skill-pills{display:flex;flex-wrap:wrap;gap:7px}.os-skill-pill{font-size:13px;font-weight:500;color:#444;background:#f3eefb;padding:6px 13px;border-radius:999px}.os-resume{width:100%;height:66vh;border:0;border-radius:6px}.os-dock{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:4000;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff80;border:1px solid rgba(255,255,255,.6);border-radius:22px;backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);box-shadow:0 12px 40px #0000002e}.os-dock-item{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:14px;cursor:pointer;transition:transform .18s cubic-bezier(.34,1.56,.64,1);text-decoration:none}.os-dock-item:hover{transform:translateY(-10px) scale(1.25)}.os-dock-emoji{font-size:32px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))}.os-dock-item.running:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#00000080}.os-dock-divider{width:1px;height:36px;background:#00000026;margin:0 4px}.os-dock-social:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:11px;box-shadow:0 3px 8px #0003}.os-dock-social svg{position:relative;z-index:1}.os-dock-social.gh:before{background:#24292e}.os-dock-social.li:before{background:#0a66c2}.os-dock-social.mail:before{background:linear-gradient(135deg,#ff7a59,#ff5f6d)}@media (max-width: 720px){.os-desktop-icons{top:40px;right:10px;gap:4px}.os-desktop-icon{width:74px;padding:6px 4px}.os-desktop-icon-glyph{font-size:30px}.os-finder{grid-template-columns:repeat(3,1fr)}.os-window{left:10px!important;right:10px;width:auto!important;max-width:calc(100vw - 20px);top:44px!important}.os-window-body{max-height:calc(100vh - 190px)}.os-dock{gap:4px;padding:6px 8px;bottom:8px;max-width:calc(100vw - 16px)}.os-dock-item{width:42px;height:42px}.os-dock-emoji{font-size:25px}.os-dock-social:before{width:34px;height:34px}}.os-logo-btn{background:none;border:none;font-size:15px;line-height:1;padding:0;cursor:pointer}.os-stickies{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.os-sticky{position:absolute;width:168px;padding:16px 16px 18px;font-family:Bradley Hand,Comic Sans MS,Segoe Print,cursive;font-size:15px;line-height:1.45;color:#3a3320;white-space:pre-line;box-shadow:0 8px 18px #00000024;border-radius:2px;transform:rotate(var(--rot, 0deg));pointer-events:auto;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.os-sticky:hover{transform:rotate(var(--rot, 0deg)) scale(1.06);box-shadow:0 16px 30px #00000038;z-index:5}.os-system{text-align:center}.os-system-logo{font-size:50px}.os-system-title{font-family:"DM Serif Display",Georgia,serif;font-size:26px;margin-top:4px}.os-system-sub{font-size:13px;color:#999;margin-bottom:16px}.os-system-specs{text-align:left;border-top:1px solid #eee}.os-system-row{display:flex;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #f3f3f3;font-size:13.5px}.os-system-row span{color:#999}.os-system-row b{color:#222;font-weight:600}.os-system-cta{display:inline-block;margin-top:16px}.os-term{margin:-22px;padding:18px;min-height:320px;max-height:60vh;overflow-y:auto;background:#15161f;color:#c5cbe0;cursor:text;font-family:SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.7}.os-term-line{white-space:pre-wrap;word-break:break-word}.os-term-line.err{color:#ff7b72}.os-term-line.cmd{color:#fff}.os-term-prompt{color:#7ee787;font-weight:600}.os-term-input-row{display:flex;gap:8px;align-items:center}.os-term-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-family:inherit;font-size:13px}.os-dock-item.bounce{animation:osBounce .6s ease}@keyframes osBounce{0%,to{transform:translateY(0)}30%{transform:translateY(-18px) scale(1.1)}55%{transform:translateY(0) scale(1)}70%{transform:translateY(-7px)}}.os-screensaver{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#0f0c16eb;color:#fff;animation:osFade .5s ease}.os-screensaver-text{font-family:"DM Serif Display",Georgia,serif;font-size:40px;animation:osDrift 6s ease-in-out infinite}.os-screensaver-sub{font-size:14px;color:#ffffff8c}@keyframes osFade{0%{opacity:0}to{opacity:1}}@keyframes osDrift{0%,to{transform:translate(0)}25%{transform:translate(40px,-20px)}50%{transform:translate(-30px,20px)}75%{transform:translate(20px,30px)}}.os-pet{position:fixed;bottom:78px;left:50%;z-index:4001;cursor:pointer;animation:petWalk 15s ease-in-out infinite;filter:drop-shadow(0 3px 3px rgba(0,0,0,.2))}.os-pet-body{animation:petBob .5s ease-in-out infinite}.os-pet.jump .os-pet-body{animation:petJump .5s ease}@keyframes petWalk{0%{transform:translate(-150px) scaleX(1)}48%{transform:translate(95px) scaleX(1)}50%{transform:translate(95px) scaleX(-1)}98%{transform:translate(-150px) scaleX(-1)}to{transform:translate(-150px) scaleX(1)}}@keyframes petBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes petJump{0%,to{transform:translateY(0)}40%{transform:translateY(-20px)}}.os-leg{transform-box:fill-box;transform-origin:center top}.os-leg-front{animation:legStep .5s ease-in-out infinite}.os-leg-back{animation:legStep .5s ease-in-out infinite reverse}@keyframes legStep{0%,to{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}.os-pet-bubble{position:fixed;bottom:132px;left:50%;transform:translate(-50%);z-index:4002;background:#fff;color:#333;font-size:13px;font-weight:700;padding:8px 14px;border-radius:14px;box-shadow:0 8px 20px #0000002e;white-space:nowrap;animation:osFade .2s ease}.os-pet-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#fff}.os-record{position:fixed;left:36px;top:146px;z-index:70;width:264px;transform:rotate(-2.5deg)}.os-record-visual{position:relative;height:112px}.os-sleeve{position:relative;z-index:2;width:104px;height:104px;padding:0;border:none;border-radius:4px;overflow:hidden;cursor:pointer;box-shadow:0 8px 22px #00000047;transition:transform .2s ease}.os-sleeve:hover{transform:translateY(-2px) scale(1.02)}.os-sleeve-img{display:block;width:100%;height:100%;object-fit:cover}.os-sleeve-art{width:100%;height:100%;background:conic-gradient(from 200deg,#2bb0c4,#f2c94c,#eb5757,#f2c94c,#2bb0c4);position:relative}.os-sleeve-band{position:absolute;left:6px;bottom:8px;background:#15a0bf;color:#fff;font-weight:800;font-size:11px;line-height:1.1;letter-spacing:.5px;padding:3px 6px;transform:rotate(-2deg)}.os-vinyl{position:absolute;left:14px;top:6px;z-index:1;transform:translate(0);transition:transform .55s cubic-bezier(.22,1,.36,1)}.os-record.open .os-vinyl{transform:translate(86px)}.os-vinyl-disc{position:relative;width:98px;height:98px;border-radius:50%;background:repeating-radial-gradient(circle,#111 0,#111 2px,#1d1d1d 2px,#1d1d1d 4px);box-shadow:0 6px 16px #0006}.os-vinyl-disc:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,#ffffff3d,#fff0 70deg,#fff0 290deg,#ffffff3d 360deg)}.os-vinyl-label{position:absolute;top:31%;right:31%;bottom:31%;left:31%;border-radius:50%;background-color:#e8b48c;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1.5px #0006}.os-vinyl-label:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);border-radius:50%;background:#f7e3cf;box-shadow:0 0 0 2px #0000004d}.os-record.open .os-vinyl-disc{animation:vinylSpin 3s linear infinite}@keyframes vinylSpin{to{transform:rotate(360deg)}}.os-record-embed-wrap{position:fixed;left:8px;bottom:8px;width:300px;height:80px;opacity:0;pointer-events:none;overflow:hidden}.os-record-caption{margin-top:8px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#a86a3d}.os-stack{position:fixed;left:36px;top:300px;z-index:60;display:flex;align-items:center;gap:8px}.os-stack-card{position:relative;width:200px;min-height:134px;text-align:left;border:none;cursor:pointer;padding:15px 17px;border-radius:22px;background:#ffffffd1;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);box-shadow:0 16px 34px #0000002e;display:flex;flex-direction:column;animation:stackIn .42s cubic-bezier(.22,1,.36,1)}.os-stack-card:after{content:"";position:absolute;left:16px;right:16px;top:-6px;height:14px;border-radius:16px 16px 0 0;background:#ffffff80;z-index:-1;box-shadow:0 6px 14px #00000014}@keyframes stackIn{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}.os-stack-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.os-stack-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;border-radius:50%;background:var(--accent, #3b82f6);box-shadow:0 4px 11px #0003}.os-stack-name{font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#b3aba3}.os-stack-label{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--accent, #3b82f6)}.os-stack-main{font-size:17px;font-weight:800;color:#1f1f24;line-height:1.16;margin-top:1px}.os-stack-sub{font-size:11.5px;color:#8a8a90;margin-top:3px}.os-stack-dots{display:flex;flex-direction:column;gap:5px}.os-stack-dots i{width:6px;height:6px;border-radius:50%;background:#0000002e}.os-stack-dots i.on{background:#00000080}.os-fortune{position:fixed;left:60px;top:40px;z-index:60;display:flex;flex-direction:column;align-items:center;gap:2px}.os-fortune-cookie{border:none;background:transparent;cursor:pointer;font-size:38px;line-height:1;padding:0;filter:drop-shadow(0 5px 6px rgba(0,0,0,.18));animation:fortuneBob 3.2s ease-in-out infinite}.os-fortune-cookie:hover{animation:none;transform:rotate(-8deg) scale(1.1)}@keyframes fortuneBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.os-fortune-hint{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#a86a3d}.os-fortune-slip{position:absolute;top:0;left:calc(100% + 12px);width:174px;background:#fffdf5;color:#4a4230;font-size:13px;font-weight:600;line-height:1.45;text-align:center;padding:12px 14px;border-radius:8px;box-shadow:0 12px 26px #0003;cursor:pointer;border:1px dashed #e3d6a8;animation:osFade .2s ease}.os-calendly{display:block;width:100%;height:630px;max-height:72vh;border:0}.os-hint{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:6000;display:flex;align-items:center;gap:10px;max-width:min(92vw,470px);background:#1a161feb;color:#fff;border:none;cursor:pointer;padding:11px 16px;border-radius:999px;font-size:13.5px;text-align:left;box-shadow:0 14px 32px #0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:hintIn .5s cubic-bezier(.22,1,.36,1)}@keyframes hintIn{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.os-hint-spark{color:#ffd479;font-size:15px}.os-hint b{font-weight:800}.os-hint-go{flex-shrink:0;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;background:#ffffff2e;padding:4px 9px;border-radius:999px}.os-plain-btn{border:none;background:#00000012;color:#2a2433;font-size:12px;font-weight:700;padding:3px 11px;border-radius:999px;cursor:pointer}.os-plain-btn:hover{background:#00000021}.pv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;overflow-y:auto;background:linear-gradient(135deg,#fdf3ea,#f3eefb);padding:38px 18px 56px;animation:osFade .25s ease}.pv-card{max-width:640px;margin:0 auto;background:#fff;border-radius:20px;box-shadow:0 20px 50px #0000001f;padding:32px 34px}.pv-back{border:none;background:none;color:#b0623f;font-size:13.5px;font-weight:700;cursor:pointer;padding:0;margin-bottom:18px}.pv-back-bottom{margin-top:26px;margin-bottom:0}.pv-name{font-family:"DM Serif Display",Georgia,serif;font-size:34px;margin:0;color:#1a1a1a}.pv-role{font-size:16px;font-weight:700;color:#444;margin:2px 0 8px}.pv-bio{font-size:15px;line-height:1.55;color:#555;margin:0 0 14px}.pv-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.pv-links a{font-size:13px;font-weight:700;text-decoration:none;color:#fff;background:#1a1a1a;padding:8px 16px;border-radius:999px}.pv-h{font-family:"DM Serif Display",Georgia,serif;font-size:22px;margin:26px 0 12px;border-bottom:1px solid #eee;padding-bottom:6px;color:#1a1a1a}.pv-item{margin-bottom:16px}.pv-item-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pv-item-top b{font-size:16px;color:#222}.pv-tag{font-size:11px;font-weight:700;color:#6a5a4a;background:#f1ece4;border-radius:999px;padding:2px 9px}.pv-item-sub{font-size:13.5px;color:#666;margin:3px 0 5px}.pv-item-links{display:flex;gap:14px}.pv-item-links a{font-size:13px;font-weight:700;color:#c4622f;text-decoration:none}.pv-item-links a:hover{text-decoration:underline}.pv-exp{font-size:14px;color:#444;margin-bottom:7px}.pv-dim{color:#999;font-size:12.5px}.os-guestbook{position:fixed;right:0;bottom:0;z-index:3900}.os-book{position:absolute;right:0;bottom:0;width:76px;height:102px;border:none;background:transparent;padding:0;cursor:pointer;transform:rotate(-15deg) translate(22px,34px);transform-origin:bottom right;transition:transform .42s cubic-bezier(.22,1,.36,1),filter .3s ease;filter:drop-shadow(0 12px 18px rgba(0,0,0,.32))}.os-book:hover,.os-book.active{transform:rotate(-5deg) translate(-8px,-4px);filter:drop-shadow(0 18px 28px rgba(0,0,0,.42))}.os-book-pages{position:absolute;top:4px;bottom:4px;right:-2px;width:7px;background:repeating-linear-gradient(0deg,#f1e6c9 0,#f1e6c9 1.5px,#d8c69e 1.5px,#d8c69e 3px);border-radius:0 3px 3px 0;box-shadow:1px 2px 3px #00000040}.os-book-cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px 7px 7px 3px;background:linear-gradient(135deg,#9c4636,#74281f 58%,#5d1e17);border:1px solid #3d110c;box-shadow:inset 0 0 14px #00000061,inset 0 1px #ffffff14}.os-book-cover:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:18px;border:1.5px solid rgba(216,182,116,.85);border-radius:2px}.os-book-cover:after{content:"❦";position:absolute;left:9px;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#e2c27ef2;font-size:20px;line-height:1}.os-book-spine{position:absolute;left:0;top:0;bottom:0;width:13px;border-radius:3px 0 0 3px;background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(216,182,116,.5) 12px 14px),linear-gradient(90deg,#58190f,#3d110c);box-shadow:inset -2px 0 4px #00000073}.os-guestbook-panel{position:absolute;right:18px;bottom:100px;width:246px;background:#fff;border-radius:16px;box-shadow:0 18px 44px #0000003d;padding:15px;animation:osFade .18s ease}.os-guestbook-title{font-weight:800;font-size:15px;color:#2a2a2a}.os-guestbook-sub{font-size:11.5px;color:#9a8aa0;margin:2px 0 10px}.os-guestbook-text{width:100%;box-sizing:border-box;border:1.5px solid #e7e3ec;border-radius:10px;padding:9px 10px;font-size:13px;font-family:inherit;resize:none;outline:none}.os-guestbook-text:focus{border-color:#b79ad0}.os-guestbook-send{width:100%;margin-top:9px;border:none;background:#1a1a1a;color:#fff;font-weight:700;font-size:13px;padding:9px;border-radius:10px;cursor:pointer;transition:background .15s ease}.os-guestbook-send:hover{background:#383838}.os-guestbook-thanks{text-align:center;font-size:17px;font-weight:800;color:#2e7d32;padding:14px 4px;line-height:1.6}.os-guestbook-thanks span{font-size:12px;font-weight:600;color:#888}.os-guestbook-err{color:#c0392b;font-size:11.5px;font-weight:600;text-align:center;margin-top:8px}.os-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.os-buddy-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:6px;white-space:nowrap;background:#fff;color:#333;font-size:13px;font-weight:600;padding:7px 12px;border-radius:12px;box-shadow:0 6px 16px #0000002e;animation:osFade .2s ease}.os-buddy-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff}.os-confetti{position:fixed;top:-12px;width:9px;height:14px;border-radius:2px;z-index:9500;pointer-events:none;animation:osConfetti 2.6s linear forwards}@keyframes osConfetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(106vh) rotate(720deg);opacity:.85}}.os-party{position:fixed;top:18%;left:50%;transform:translate(-50%);z-index:9600;font-family:"DM Serif Display",Georgia,serif;font-size:46px;color:#1a1a1a;background:#ffffffb8;padding:14px 30px;border-radius:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 14px 40px #0003;animation:osPartyPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes osPartyPop{0%{transform:translate(-50%) scale(.6);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@media (max-width: 720px){.os-menubar .os-menu-item{display:none}.os-menubar-right .os-menu-item:last-child{display:inline-block}.os-menu-active{font-size:13px}.os-desktop-icons{display:none}.os-record{left:2px;top:34px;transform:scale(.58);transform-origin:top left}.os-sticky:nth-child(n+2){display:none}.os-sticky:first-child{left:auto!important;right:6px!important;top:44px!important;transform:rotate(var(--rot, 0deg)) scale(.74);transform-origin:top right}.os-window{left:12px!important;right:12px;width:auto!important;max-width:none;top:184px!important;bottom:calc(176px + env(safe-area-inset-bottom));max-height:none}.os-window-body{flex:1 1 auto;min-height:0;max-height:none;height:auto;overflow-y:auto}.os-term,.os-resume{height:44dvh}.os-about-photo{width:112px;height:140px}.os-book{transform:rotate(-12deg) translate(12px,-58px)}.os-book.active{transform:rotate(-6deg) translate(-2px,-70px)}.os-guestbook-panel{right:14px;bottom:calc(150px + env(safe-area-inset-bottom));width:min(246px,calc(100vw - 28px))}.os-dock{overflow-x:auto;justify-content:flex-start;max-width:calc(100vw - 12px);bottom:calc(8px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.os-dock::-webkit-scrollbar{display:none}.os-dock-item{flex-shrink:0}.os-stack{display:none}.os-fortune{left:50%;right:auto;top:38px;transform:translate(-50%)}.os-fortune-cookie{font-size:30px}.os-fortune-hint{display:none}.os-fortune-slip{left:50%;right:auto;top:calc(100% + 8px);transform:translate(-50%);width:min(220px,78vw)}.os-party{font-size:30px;padding:10px 20px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:#fff;color:#1a1a1a;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;background:radial-gradient(circle at 50% 18%,rgba(255,214,176,.9),transparent 55%),radial-gradient(circle at 50% 38%,rgba(255,230,205,.7),transparent 65%),linear-gradient(180deg,#ffd6b0,#ffe7d1 40%,#fff5ea,#fff)}.hero-content{display:flex;align-items:center;gap:80px;max-width:1200px}.polaroid-wrapper{position:relative}.polaroid-back{position:absolute;top:-8px;left:8px;width:380px;height:440px;background:#e8e8e8;transform:rotate(-2deg);box-shadow:0 4px 12px #00000014}.polaroid{position:relative;width:380px;background:#f8f8f8;padding:20px 20px 60px;box-shadow:0 8px 24px #0000001f;z-index:1}.polaroid-photo{width:340px;height:280px;background:#ddd;overflow:hidden;position:relative}.polaroid-photo img{width:100%;height:100%;object-fit:cover;transition:opacity .5s ease}.photo-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;transition:all .3s ease}.dot.active{background:#fff;transform:scale(1.2)}.hero-text{font-family:Outfit,sans-serif}.hero-text h1{font-family:Playfair Display,serif;font-size:5rem;line-height:1.1}.hero-intro{margin-top:12px;max-width:520px;color:#3d3d3d}.intro-greeting{font-size:18px;font-weight:500;color:#888;margin-bottom:8px}.intro-tagline{font-size:20px;font-weight:500;color:#555;margin-bottom:24px}.intro-about{margin-bottom:28px}.intro-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#999;margin-bottom:12px}.intro-text{font-size:16px;line-height:1.7;color:#3d3d3d}.hero-doodles{margin-top:10px;display:flex;gap:10px;align-items:center;color:#1a1a1a;opacity:.7}.doodle{width:22px;height:22px;animation:doodleFloat 4s ease-in-out infinite}.doodle:nth-child(2){animation-delay:.4s}.doodle:nth-child(3){animation-delay:.8s}@keyframes doodleFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(3deg)}}.typewriter{overflow:hidden;border-right:3px solid #1a1a1a;white-space:nowrap;animation:typing 2s steps(14) .5s forwards,blink .75s step-end infinite;width:0}@keyframes typing{to{width:100%}}@keyframes blink{50%{border-color:transparent}}.floating-logos{min-height:100vh;position:relative;background:transparent;overflow:hidden}.logo-card{position:absolute;width:120px;height:120px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0000001a;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;will-change:transform}.logo-card:hover{transform:scale(1.1)!important;box-shadow:0 8px 30px #00000026}.logo-card img{width:80px;height:80px;object-fit:contain}.logo-1{top:15%;left:15%;animation:float1 8s ease-in-out infinite}.logo-2{top:25%;right:20%;animation:float2 10s ease-in-out infinite}.logo-3{bottom:25%;left:20%;animation:float3 12s ease-in-out infinite}.logo-4{top:50%;right:30%;animation:float4 9s ease-in-out infinite}@keyframes float1{0%,to{transform:translate(0) rotate(-3deg) scale(1)}25%{transform:translate(40px,-60px) rotate(6deg) scale(1.04)}50%{transform:translate(-30px,-90px) rotate(-6deg) scale(.98)}75%{transform:translate(60px,-40px) rotate(4deg) scale(1.02)}}@keyframes float2{0%,to{transform:translate(0) rotate(2deg) scale(1)}25%{transform:translate(-70px,50px) rotate(-5deg) scale(1.03)}50%{transform:translate(40px,-70px) rotate(7deg) scale(.97)}75%{transform:translate(-55px,30px) rotate(-3deg) scale(1.01)}}@keyframes float3{0%,to{transform:translate(0) rotate(-2deg) scale(1)}25%{transform:translate(75px,-45px) rotate(5deg) scale(1.05)}50%{transform:translate(-55px,-85px) rotate(-7deg) scale(.96)}75%{transform:translate(45px,55px) rotate(3deg) scale(1.02)}}@keyframes float4{0%,to{transform:translate(0) rotate(3deg) scale(1)}25%{transform:translate(-45px,-80px) rotate(-4deg) scale(1.03)}50%{transform:translate(70px,-45px) rotate(6deg) scale(.98)}75%{transform:translate(-80px,55px) rotate(-5deg) scale(1.02)}}.work-section{padding:40px 40px 28px;max-width:1000px;margin:0 auto;animation:fadeIn .8s ease;background:transparent;font-family:Outfit,sans-serif}.section-title{font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:26px;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:4px;background:#ff6b6b}.work-section .section-title{font-family:"DM Serif Display",serif;font-size:2.6rem;margin-bottom:36px}.work-section .section-title:after{width:42px;border-radius:2px}.work-card{position:relative;background:#fff;border-radius:24px;padding:36px 34px;margin-bottom:32px;transition:all .4s cubic-bezier(.34,1.56,.64,1);opacity:0;transform:translateY(40px);animation:workCardFloatUp .8s cubic-bezier(.34,1.56,.64,1) forwards;box-shadow:0 1px 2px #0000000a,0 4px 12px #0000000f,0 16px 32px #0000000a}@keyframes workCardFloatUp{to{opacity:1;transform:translateY(0)}}.work-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;border-radius:24px 24px 0 0;opacity:0;transition:opacity .3s ease}.work-card:hover:before{opacity:1}.work-card--peach:before{background:linear-gradient(90deg,#f4a582,#f5b895)}.work-card--blue:before{background:linear-gradient(90deg,#82c4f4,#95d0f5)}.work-card--green:before{background:linear-gradient(90deg,#a8d5a8,#b8ddb8)}.work-card--purple:before{background:linear-gradient(90deg,#d5a8d5,#ddb8dd)}.work-card:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:26px;background:linear-gradient(135deg,#f4a58214,#82c4f414);z-index:-1;opacity:0;transition:opacity .3s ease}.work-card:hover:after{opacity:1}.work-card:hover{transform:translateY(-6px);box-shadow:0 2px 4px #0000000d,0 8px 20px #00000014,0 24px 48px #0000000f}.exp-header{display:flex;align-items:flex-start;gap:22px;padding-bottom:24px;border-bottom:2px solid #f5f5f5;margin-bottom:24px}.logo-wrapper{position:relative;flex-shrink:0}.work-logo{width:64px;height:64px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f8f8,#f0f0f0);box-shadow:0 2px 4px #0000000f,inset 0 1px #ffffffe6;border:1px solid #e8e8e8;transition:transform .3s ease}.work-card:hover .work-logo{transform:scale(1.05)}.work-logo img{width:100%;height:100%;object-fit:contain;padding:8px}.exp-info{flex:1}.exp-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:8px}.job-title{font-size:22px;font-weight:700;letter-spacing:-.4px;color:#1a1a1a}.date-badge{font-size:13px;font-weight:500;color:#888;background:#f5f5f5;padding:4px 12px;border-radius:14px;white-space:nowrap;border:1px solid #e8e8e8}.company{font-size:16px;font-weight:600;color:#555;margin-bottom:3px}.location{font-size:14px;font-weight:400;color:#999}.project-summary{background:linear-gradient(135deg,#f8f7f5,#f5f4f2);padding:18px 20px;border-radius:12px;margin-bottom:20px}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#999;margin-bottom:8px}.project-text{font-size:14px;line-height:1.7;color:#3d3d3d}.learning-section{margin-bottom:24px}.learning-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#999;margin-bottom:12px}.learning-text{font-size:15px;line-height:1.75;color:#3d3d3d;margin-bottom:14px}.learning-text:last-child{margin-bottom:0}.superpowers{padding-top:20px;border-top:2px solid #f5f5f5;margin-top:24px}.superpowers-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#999;margin-bottom:12px}.superpowers-list{display:flex;flex-wrap:wrap;gap:8px}.superpower-pill{background:linear-gradient(135deg,#fef9f5,#fef8f3);border:1.5px solid #f4d5c0;border-radius:16px;padding:6px 14px;font-size:13px;font-weight:500;color:#c06a3a}.highlights{list-style:none;margin-top:20px;padding-left:0}.highlights li{position:relative;padding-left:24px;margin-bottom:12px;font-size:14px;font-weight:400;line-height:1.7;color:#3d3d3d}.highlights li:last-child{margin-bottom:0}.highlights li:before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;background:linear-gradient(135deg,#c9b8a8,#b8a798);border-radius:50%;box-shadow:0 1px 3px #00000026}.projects-section{padding:24px 40px 40px;max-width:1000px;margin:0 auto;animation:fadeIn .8s ease .2s both;background:transparent}.folders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin-top:32px}.folder{display:flex;flex-direction:column;align-items:center;gap:16px;cursor:pointer;transition:transform .2s ease}.folder:hover{transform:translateY(-4px)}.folder:active{transform:scale(.95)}.folder-icon{width:120px;height:120px;position:relative;transition:all .3s ease}.folder:hover .folder-icon{transform:scale(1.05)}.folder-svg{width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}.folder-label{font-size:15px;font-weight:600;color:#1a1a1a;text-align:center;max-width:180px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:20px;overflow-y:auto;opacity:0;animation:modalFadeIn .3s ease forwards}@keyframes modalFadeIn{to{opacity:1}}.project-modal-card{background:#fff;border-radius:20px;max-width:800px;width:100%;max-height:calc(100vh - 80px);overflow-y:auto;position:relative;margin:40px auto;transform:scale(.9);animation:modalScaleIn .3s ease forwards}@keyframes modalScaleIn{to{transform:scale(1)}}.close-btn{position:sticky;top:20px;width:36px;height:36px;border-radius:50%;background:#e8564a;border:1px solid #e8564a;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#fff;z-index:10;margin-left:auto;margin-right:20px;margin-bottom:-36px;transition:all .2s ease}.close-btn:hover{background:#d6473c;color:#fff;border-color:#d6473c;transform:rotate(90deg)}.card-header{padding:28px 28px 24px;background:linear-gradient(135deg,#fafafa,#fff);border-radius:20px 20px 0 0}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.achievement-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;border:1px solid #f4c542}.ongoing-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#82c4f4,#95d0f5);color:#1a5a8a;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;border:1px solid #6baad6}.est-badge{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,#a8d5a8,#b8ddb8);color:#2f6b2f;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;border:1px solid #8fc78f}.project-title{font-family:"DM Serif Display",serif;font-size:28px;font-weight:400;letter-spacing:-.4px;color:#1a1a1a;margin-bottom:8px}.project-tagline{font-size:15px;color:#888;font-style:italic;line-height:1.4}.card-body{padding:0 28px 28px}.modal-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:#999;margin-bottom:12px;margin-top:24px}.modal-section-title:first-child{margin-top:0}.project-description{font-size:15px;line-height:1.75;color:#3d3d3d}.key-results{display:flex;gap:16px;flex-wrap:wrap}.result-item{flex:1;min-width:140px;background:linear-gradient(135deg,#f8f7f5,#f5f4f2);padding:16px;border-radius:12px;text-align:center}.result-value{font-size:24px;font-weight:700;color:#1a1a1a;margin-bottom:4px}.result-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#888}.tech-stack{display:flex;flex-wrap:wrap;gap:7px}.tech-badge{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:14px;padding:6px 14px;font-size:13px;font-weight:500;color:#555}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.github-link{display:inline-flex;align-items:center;gap:8px;background:#24292e;color:#fff;padding:10px 18px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:600;transition:all .2s ease}.github-link:hover{background:#1a1e22;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.github-icon{width:18px;height:18px}.live-link{display:inline-flex;align-items:center;gap:8px;background:#6c5ce7;color:#fff;padding:10px 18px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:600;transition:all .2s ease}.live-link:hover{background:#5a4bd1;transform:translateY(-2px);box-shadow:0 4px 12px #6c5ce74d}.live-link-icon{width:18px;height:18px}.skills-section-floating{padding:20px 40px 24px;max-width:1000px;margin:0 auto;position:relative;overflow:visible}.skills-title-floating{font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:12px;position:relative;display:inline-block;opacity:0;animation:skillsTitleReveal .8s cubic-bezier(.16,1,.3,1) forwards}.skills-title-floating:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:4px;background:linear-gradient(90deg,#ff6b6b,#feca57,#48dbfb,#ff9ff3);animation:titleUnderline .6s cubic-bezier(.16,1,.3,1) .4s forwards}@keyframes skillsTitleReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skills-section-cards{padding:60px 40px 80px;background:#fff}.skills-section-cards .skills-wrapper{width:100%;max-width:900px;margin:0 auto}.section-header-skills{margin-bottom:48px}.section-header-skills h2{font-family:"DM Serif Display",serif;font-size:48px;font-weight:400;letter-spacing:-.5px;color:#1a1a1a}.section-header-skills .underline{width:40px;height:4px;background:#e8564a;border-radius:2px;margin-top:14px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skill-card{border-radius:24px;padding:28px 28px 32px;opacity:0;transform:translateY(16px);animation:skillCardFadeUp .5s cubic-bezier(.22,.68,0,1.2) forwards}@keyframes skillCardFadeUp{to{opacity:1;transform:translateY(0)}}.skill-card--peach{background:#fce8dc}.skill-card--sage{background:#ddecd5}.skill-card--sky{background:#deeeff}.skill-card--lavender{background:#e4ddf3}.skill-card-label-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}.skill-card-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}.skill-card-icon svg{width:18px;height:18px}.skill-card--peach .skill-card-icon{background:#c06a3a26;color:#c06a3a}.skill-card--sage .skill-card-icon{background:#4a7a4226;color:#4a7a42}.skill-card--sky .skill-card-icon{background:#3a6a9a26;color:#5a8ab8}.skill-card--lavender .skill-card-icon{background:#6a4fa026;color:#7a5faa}.skill-card-label{font-family:Outfit,sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:2.5px}.skill-card--peach .skill-card-label{color:#c06a3a}.skill-card--sage .skill-card-label{color:#4a7a42}.skill-card--sky .skill-card-label{color:#5a8ab8}.skill-card--lavender .skill-card-label{color:#7a5faa}.skill-pills{display:flex;flex-wrap:wrap;gap:10px}.skill-pill{font-family:Outfit,sans-serif;font-size:14px;font-weight:400;color:#2d2d2d;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:24px;padding:8px 18px;transition:box-shadow .2s,transform .15s}.skill-pill:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.skill-card--full{grid-column:1 / -1}.skill-card--half{grid-column:1 / 2}.footer{padding:40px 40px 60px;display:flex;justify-content:center}.footer-pill{width:min(980px,100%);background:#f3f3f3;border-radius:999px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 40px #00000014;border:1px solid #e9e9e9}.footer-email{display:flex;align-items:center;gap:12px;color:#1a1a1a;font-size:1.1rem;font-family:Playfair Display,serif}.footer-plane{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#1a1a1a}.footer-plane svg{width:20px;height:20px;fill:#1a1a1a}.footer-email a{color:#1a1a1a;text-decoration:none}.footer-icons{display:flex;gap:12px}.icon-btn{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e6e6e6;box-shadow:0 10px 24px #00000024,0 2px 6px #00000014;transition:transform .2s ease,box-shadow .2s ease;transform:rotate(-6deg)}.icon-btn:nth-child(2){transform:rotate(4deg)}.icon-btn:hover{transform:translateY(-2px) scale(1.14) rotate(0);box-shadow:0 14px 28px #0000002e,0 4px 10px #0000001a}.icon-label{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:.7rem;color:#4a4a4a;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.icon-btn:hover .icon-label{opacity:1;transform:translate(-50%) translateY(4px)}.icon-btn svg{width:22px;height:22px;fill:#fff}.icon-github{background:linear-gradient(135deg,#3d3d3d,#7b7b7b);border-color:transparent}.icon-linkedin{background:linear-gradient(135deg,#0a66c2,#69b0ff);border-color:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.hero{padding:30px}.hero-content{gap:60px}.work-section,.projects-section,.case-studies-section{padding:40px 30px}.skills-section-cards{padding:50px 30px 70px}.footer-pill{padding:16px 24px}}@media (max-width: 968px){.hero-content{flex-direction:column;text-align:center;gap:30px}.hero-text{position:relative;z-index:10;margin-top:20px}.hero-text h1{font-size:3.5rem}.hero-doodles{justify-content:center}.polaroid-wrapper{margin:0 auto}.polaroid-back{display:none}.work-card{flex-direction:column}.exp-header{flex-direction:column;align-items:center;text-align:center}.exp-title-row{flex-direction:column;align-items:center;gap:8px}.work-logo{margin:0 auto 10px}.folders-grid{grid-template-columns:repeat(3,1fr);gap:24px}.folder-icon{width:100px;height:100px}.folder-label{font-size:14px}.case-studies-grid{grid-template-columns:1fr;gap:20px}.footer-pill{flex-direction:column;gap:20px;border-radius:24px;padding:24px}.footer-email,.footer-icons{justify-content:center}}@media (max-width: 768px){.hero{padding:60px 24px;min-height:auto}.hero-text{width:100%}.hero-text h1{font-size:3rem}.polaroid-back,.polaroid{width:320px}.polaroid-photo{width:280px;height:230px}.section-title{font-size:2rem}.work-section,.projects-section,.case-studies-section{padding:30px 20px}.skills-section-cards{padding:40px 20px 60px}.skills-grid{grid-template-columns:1fr;gap:16px}.skill-card--full,.skill-card--half{grid-column:auto}.section-header-skills h2{font-size:36px}.floating-logos{min-height:80vh}.logo-card{width:100px;height:100px}.logo-card img{width:65px;height:65px}.footer{padding:40px 20px 60px}}@media (max-width: 640px){.hero{padding:40px 20px 50px}.hero-content{gap:40px}.polaroid-back,.polaroid{width:280px}.polaroid{padding:16px 16px 50px}.polaroid-photo{width:248px;height:200px}.hero-text h1{font-size:2.5rem}.section-title{font-size:1.75rem}.work-section,.projects-section,.case-studies-section{padding:24px 16px}.work-card{padding:20px;border-radius:16px}.exp-header{gap:16px;padding-bottom:18px;margin-bottom:18px}.job-title{font-size:18px}.project-summary{padding:14px 16px}.project-text,.learning-text{font-size:14px}.superpower-pill{font-size:12px;padding:5px 12px}.work-logo{width:56px;height:56px}.highlights{padding-left:16px;font-size:.9rem}.highlights li{margin-bottom:6px}.folders-grid{grid-template-columns:repeat(3,1fr);gap:20px}.folder-icon{width:90px;height:90px}.folder-label{font-size:13px}.project-modal-card{max-height:90vh}.card-header{padding:20px 20px 18px}.card-body{padding:0 20px 20px}.project-title{font-size:22px}.key-results{flex-direction:column}.result-item{min-width:auto}.tags{gap:6px}.tag{padding:5px 12px;font-size:.8rem}.skills-section-cards{padding:30px 16px 50px}.section-header-skills{margin-bottom:30px}.section-header-skills h2{font-size:32px}.skill-card{padding:20px;border-radius:18px}.skill-card-label-row{margin-bottom:14px}.skill-card-icon{width:32px;height:32px}.skill-pills{gap:8px}.skill-pill{font-size:13px;padding:6px 14px}.floating-logos{min-height:70vh}.logo-card{width:90px;height:90px}.logo-card img{width:55px;height:55px}.footer{padding:30px 16px 50px}.footer-pill{padding:20px;border-radius:20px}.footer-email{font-size:.95rem}.icon-btn{width:40px;height:40px;border-radius:12px}.icon-btn svg{width:20px;height:20px}}@media (max-width: 480px){.hero{padding:30px 16px 40px}.hero-content{gap:30px}.polaroid-back,.polaroid{width:260px}.polaroid{padding:14px 14px 45px}.polaroid-photo{width:232px;height:185px}.hero-text h1{font-size:2rem}.hero-doodles .doodle{width:18px;height:18px}.section-title{font-size:1.5rem}.section-header-skills h2{font-size:28px}.work-card{padding:16px}.job-title{font-size:16px}.company{font-size:14px}.location{font-size:13px}.date-badge{font-size:11px;padding:3px 10px}.section-label,.learning-title,.superpowers-label{font-size:10px}.project-text,.learning-text{font-size:13px}.superpower-pill{font-size:11px;padding:4px 10px}.highlights{font-size:.85rem}.folders-grid{grid-template-columns:repeat(3,1fr);gap:16px}.folder-icon{width:80px;height:80px}.folder-label{font-size:12px;max-width:100px}.project-modal-card{border-radius:16px}.card-header{padding:16px 16px 14px}.card-body{padding:0 16px 16px}.project-title{font-size:20px}.project-tagline{font-size:13px}.modal-section-title{font-size:11px}.project-description{font-size:14px}.skill-card{padding:16px}.skill-card-label{font-size:11px;letter-spacing:2px}.skill-pill{font-size:12px;padding:5px 12px}.footer-email{font-size:.85rem;flex-direction:column;gap:8px;text-align:center}}@media (max-width: 360px){.hero{padding:12px}.polaroid-back,.polaroid{width:240px}.polaroid-photo{width:212px;height:170px}.hero-text h1{font-size:1.75rem}.section-title{font-size:1.35rem}.section-header-skills h2{font-size:24px}.work-section,.projects-section,.case-studies-section,.skills-section-cards{padding-left:12px;padding-right:12px}.folders-grid{grid-template-columns:repeat(3,1fr);gap:12px}.folder-icon{width:70px;height:70px}.folder-label{font-size:11px;max-width:80px}}.hero-cta{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:14px}.cta-primary{display:inline-flex;align-items:center;gap:8px;background:#1a1a1a;color:#fff;border:none;padding:12px 22px;border-radius:999px;font-family:Outfit,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.cta-primary:hover{transform:translateY(-2px);background:#000;box-shadow:0 8px 20px #0000002e}.hero-links{display:flex;flex-wrap:wrap;gap:8px}.hero-link{font-family:Outfit,sans-serif;font-size:14px;font-weight:500;color:#3d3d3d;text-decoration:none;padding:10px 16px;border:1px solid rgba(0,0,0,.12);border-radius:999px;background:#fff9;transition:all .2s ease}.hero-link:hover{border-color:#0000004d;background:#fff;transform:translateY(-2px)}.floating-logos{cursor:pointer}.logos-hint{position:absolute;bottom:6%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-family:Outfit,sans-serif;font-size:14px;letter-spacing:.5px;color:#9a8470;text-align:center}.logos-hint-arrow{font-size:20px;animation:doodleFloat 2s ease-in-out infinite}.work-metrics{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0 4px}.work-metric{flex:1;min-width:130px;background:linear-gradient(135deg,#faf9f7,#f4f3f1);border-radius:14px;padding:16px 14px;text-align:center}.work-metric-value{font-family:"DM Serif Display",serif;font-size:26px;font-weight:700;color:#1a1a1a;line-height:1.1}.work-metric-label{margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#888}.learning-details{margin-top:22px;border-top:1px solid rgba(0,0,0,.06);padding-top:14px}.learning-summary{cursor:pointer;list-style:none;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#b0623f;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.learning-summary::-webkit-details-marker{display:none}.learning-summary:after{content:"▸";transition:transform .2s ease;font-size:12px}.learning-details[open] .learning-summary:after{transform:rotate(90deg)}.learning-body{margin-top:12px}.folder-tagline{font-family:Outfit,sans-serif;font-size:12px;color:#777;text-align:center;max-width:180px;line-height:1.35;margin-top:-6px}.folder-badge{font-family:Outfit,sans-serif;font-size:10.5px;font-weight:700;color:#444;background:#0000000d;border-radius:999px;padding:3px 10px;white-space:nowrap}.folder:focus-visible,.floating-logos:focus-visible{outline:3px solid #ff6b6b;outline-offset:4px;border-radius:8px}.work-logo-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:"DM Serif Display",serif;font-size:30px;font-weight:700;color:#b0623f}.demo-embed{position:relative;width:100%;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000;margin-bottom:4px}.demo-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1),box-shadow .4s ease;animation:none!important}.reveal.in-view{opacity:1;transform:none}.reveal-folder{opacity:0;transform:translateY(20px) scale(.98);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}.reveal-folder.in-view{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal,.reveal-folder{opacity:1!important;transform:none!important;transition:none!important}}.project-filters{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 8px}.filter-chip{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:#555;background:#0000000a;border:1px solid transparent;border-radius:999px;padding:8px 18px;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#00000012}.filter-chip.active{color:#fff;background:#1a1a1a}.modal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:18px;border-top:1px solid rgba(0,0,0,.07)}.modal-nav-btn{font-family:Outfit,sans-serif;font-size:14px;font-weight:600;color:#333;background:#0000000a;border:none;border-radius:999px;padding:9px 18px;cursor:pointer;transition:all .2s ease}.modal-nav-btn:hover{background:#00000017;transform:translateY(-1px)}.modal-nav-count{font-family:Outfit,sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;color:#999}.filter-chip:focus-visible,.modal-nav-btn:focus-visible{outline:3px solid #ff6b6b;outline-offset:3px}.folder-icon{position:relative}.live-dot{position:absolute;top:4px;right:12px;width:13px;height:13px;border-radius:50%;background:#2ecc71;border:2.5px solid #fff;box-shadow:0 0 #2ecc718c;animation:livePulse 2.2s ease-out infinite;z-index:2}@keyframes livePulse{0%{box-shadow:0 0 #2ecc7180}70%{box-shadow:0 0 0 9px #2ecc7100}to{box-shadow:0 0 #2ecc7100}}@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}.footer-credit{margin-top:18px;text-align:center;font-family:Outfit,sans-serif;font-size:13px;color:#b9b3ab;letter-spacing:.3px}@media (max-width: 768px){.hero-cta{justify-content:flex-start}.folder-tagline{font-size:11px;max-width:150px}.work-metric{min-width:100px}}@media (max-width: 360px){.folder-tagline{display:none}}
