@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b0c16;--panel:#11131f;--line:#272837;--ink:#f3f0fa;--muted:#9b9bad;--purple:#a38cff;--lime:#d5ef9a;--gold:#d8ba79;--font:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--lime);outline-offset:6px}::selection{background:var(--purple);color:var(--bg)}.topbar{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff08;position:relative;z-index:5}.brand{font-family:Manrope,var(--font);font-size:25px;font-weight:800;letter-spacing:-1.4px}.brand span{font-size:11px;vertical-align:top;margin-left:4px;letter-spacing:0}.top-note,.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.6px}.top-note{color:var(--muted)}.availability{font-size:12px;display:flex;gap:10px;align-items:center}.availability i{width:6px;height:6px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px #d5ef9a55}.availability span{color:var(--muted);margin-left:14px}.home{min-height:calc(100svh - 94px);position:relative;overflow:hidden;padding:42px 5% 22px;background:radial-gradient(ellipse at 50% 53%,#28204166,transparent 44%)}.home::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#b9b6ce50 .7px,transparent .7px);background-size:69px 69px;mask-image:linear-gradient(transparent,#000,transparent);pointer-events:none}.home-head{text-align:center;position:relative}.home-head .eyebrow{color:var(--purple)}.home h1{font-family:Manrope,var(--font);font-size:clamp(38px,4.7vw,65px);font-weight:500;letter-spacing:-3px;margin:10px 0 12px;line-height:1.12}.home h1 em{font-family:Georgia,serif;color:var(--purple);font-weight:400}.home-head p{font-size:13px;color:var(--muted);margin:0}.universe{position:relative;max-width:1000px;height:470px;margin:0 auto}.orbit{width:520px;height:330px;border:1px solid #bca0ff12;border-radius:50%;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-18deg);pointer-events:none}.orbit.second{width:710px;height:410px;transform:translate(-50%,-50%) rotate(13deg);border-style:dashed}.avatar-wrap{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:245px;height:245px;display:grid;place-items:center}.avatar-halo{position:absolute;width:195px;height:195px;border-radius:50%;background:#c0a2ff0b;border:1px solid #cab7ff26;box-shadow:0 0 70px #8971ee12}.avatar{position:relative;width:230px;height:230px;object-fit:contain;filter:drop-shadow(0 12px 18px #0004);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.avatar.photo-fallback{border-radius:50%;object-fit:cover;width:195px;height:195px}.hello{position:absolute;top:-8px;right:-22px;font-size:12px;background:#272237;padding:9px 14px;border-radius:12px 12px 12px 2px;transform:rotate(5deg);border:1px solid #ad94e837}.avatar-caption{position:absolute;bottom:-30px;text-align:center;width:270px;font-size:11px;color:var(--muted);line-height:1.8}.avatar-caption strong{display:block;color:var(--ink);font-size:17px;font-weight:500;letter-spacing:-.4px}.portal{position:absolute;display:flex;gap:13px;align-items:center;min-width:174px;padding:15px 18px;background:#151622d9;border:1px solid #ffffff13;border-radius:17px;box-shadow:0 8px 30px #0002;transition:background .25s,border .25s,box-shadow .25s;z-index:2;text-align:left}.portal:hover{background:#242138;border-color:#a38cff75;box-shadow:0 5px 32px #9a79ff1b}.portal-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:var(--tint,#a38cff14);color:var(--color,var(--purple));flex-shrink:0}.portal svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.portal strong{display:block;font-weight:500;font-size:14px}.portal small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.portal .arrow{font-size:12px;color:var(--muted);margin-left:auto}.p-projects{left:8%;top:18%;transform:rotate(-5deg)}.p-resume{left:3%;top:46%;transform:rotate(3deg)}.p-github{left:13%;top:74%;transform:rotate(-3deg)}.p-linkedin{right:8%;top:16%;transform:rotate(5deg)}.p-writing{right:2%;top:44%;transform:rotate(-3deg)}.p-hobbies{right:12%;top:73%;transform:rotate(4deg)}.p-contact{left:50%;top:91%;transform:translateX(-50%);min-width:178px;padding:10px 16px}.p-contact .portal-icon{width:30px;height:30px}.p-contact small{display:none}.spark{position:absolute;color:var(--lime);font-size:25px;left:32%;top:18%}.spark.s2{color:var(--purple);left:auto;right:30%;top:69%;font-size:18px}.home-bottom{margin:46px auto 0;max-width:1100px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;letter-spacing:1px}.home-bottom .scroll{color:var(--ink)}.page{max-width:1200px;margin:0 auto;padding:40px 5% 90px;min-height:75vh}.back{display:inline-flex;gap:12px;font-size:12px;color:var(--muted);margin-bottom:45px}.back:hover{color:var(--ink)}.page-head{margin-bottom:50px}.eyebrow{color:var(--purple)}.page h1{font-family:Manrope,var(--font);font-size:clamp(40px,6vw,76px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin:13px 0 18px}.page h1 em{font-family:Georgia,serif;color:var(--purple)}.page-head>p{max-width:570px;color:var(--muted);line-height:1.8}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filter{border:1px solid var(--line);border-radius:30px;padding:9px 16px;font-size:12px;color:var(--muted)}.filter.active{background:var(--lime);color:#1c2415;border-color:var(--lime)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s;text-align:left;display:block;width:100%;padding:0;background:var(--panel)}.project-card:hover{transform:translateY(-6px)}.project-art{height:230px;background:radial-gradient(ellipse at bottom,#44347155,transparent 80%),#141423;padding:28px;overflow:hidden;display:flex;align-items:center;justify-content:center}.mini-app{width:100%;max-width:390px;background:#171b29;border:1px solid #ffffff1a;border-radius:10px;padding:17px;box-shadow:0 25px 40px #0005;font-size:10px;transform:rotate(-3deg);transition:transform .5s}.project-card:hover .mini-app{transform:rotate(0) scale(1.03)}.mini-top{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff13;padding-bottom:12px;color:#b4b5c6}.mini-top b{color:white}.mini-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #ffffff09;color:#969bae}.mini-row span:last-child{color:var(--lime)}.mini-label{color:#88899e;font-size:8px;margin-top:12px}.mini-stats{display:flex;gap:8px;margin-top:12px}.mini-stats>div{flex:1;background:#ffffff05;padding:10px;border-radius:5px}.mini-stats b{display:block;color:var(--purple);font-size:16px;margin-bottom:4px}.preview-label{font-size:8px;color:#9b9bad;letter-spacing:1px;margin-top:12px;text-align:right}.project-text{padding:25px}.project-text .tag{font-size:9px;letter-spacing:1.5px;color:var(--purple)}.project-text h2{font-size:21px;font-weight:500;letter-spacing:-.5px}.project-text p{font-size:13px;line-height:1.7;color:var(--muted);min-height:44px}.project-text .card-foot{display:flex;justify-content:space-between;margin-top:23px;padding-top:17px;border-top:1px solid var(--line);font-size:11px}.project-text .card-foot span:first-child{color:var(--muted)}.chart{width:100%;height:100px;margin-top:15px}.chart path{fill:none;stroke:var(--purple);stroke-width:1.5}.chart path:nth-child(2){stroke:var(--lime)}.chart path:nth-child(3){stroke:#7badd8}.action{display:inline-flex;align-items:center;gap:24px;padding:13px 22px;border:1px solid var(--line);border-radius:9px;font-size:13px;background:#191b2b}.action.primary{background:var(--lime);color:#1d2614;border-color:var(--lime)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}dialog{border:1px solid #ffffff20;border-radius:18px;background:#11131e;color:var(--ink);padding:40px;width:min(850px,92vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#050611dd;backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:17px;top:12px;font-size:28px;color:var(--muted);z-index:3}.detail h2{font-size:32px;font-weight:500;letter-spacing:-1px;margin-right:30px}.detail p{color:var(--muted);line-height:1.85;font-size:14px}.detail .stack{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.detail .stack span{background:#ffffff07;border:1px solid var(--line);padding:6px 10px;border-radius:5px;font-size:10px}.detail .project-art{border-radius:12px;height:270px;margin-top:24px}.detail h3{font-size:14px;color:var(--lime);margin-top:30px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.portrait{width:100%;border-radius:18px}.story-copy{color:var(--muted);line-height:1.9}.story-copy h2{color:var(--ink);font-weight:500;font-size:25px;line-height:1.4}.timeline{margin-top:40px}.timeline article{padding:23px 0;border-bottom:1px solid var(--line)}.timeline small{color:var(--purple)}.timeline h3{font-size:17px;font-weight:500}.timeline p{color:var(--muted);line-height:1.8;font-size:13px}.hobby-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}.hobby-card{position:relative;height:380px;border-radius:15px;overflow:hidden;text-align:left;padding:0;display:block}.hobby-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.hobby-card:hover img{transform:scale(1.06)}.hobby-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#000b)}.hobby-label{position:absolute;bottom:25px;left:25px;right:25px;z-index:2}.hobby-label small{font-size:9px;letter-spacing:2px;color:#d1cbdd}.hobby-label h2{font-weight:500;font-size:27px;margin:12px 0}.hobby-label span{font-size:12px}.photo-page{--purple:var(--gold)}.photo-hero{height:62vh;min-height:380px;max-height:680px;position:relative;display:flex;align-items:end;padding:7%;border-radius:18px;overflow:hidden;margin-bottom:70px}.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#070a09ba)}.photo-hero>div{position:relative;z-index:1}.photo-hero h1{font-family:Georgia,serif;font-size:clamp(50px,7vw,95px);font-weight:400;letter-spacing:-3px;margin-bottom:0}.photo-hero p{font-size:13px;color:#e0dfd5}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:55px 0 25px}.section-heading h2{font-family:Georgia,serif;font-size:35px;font-weight:400;margin:0}.section-heading p{font-size:11px;color:var(--muted)}.photo-stage{height:390px;perspective:1400px;overflow:hidden;display:grid;place-items:center;touch-action:pan-y;cursor:grab}.photo-ring{position:relative;width:0;height:0;transform-style:preserve-3d}.ring-card{position:absolute;width:210px;height:210px;top:-105px;left:-105px;padding:0;border-radius:12px;overflow:hidden;border:1px solid #ffffff20;box-shadow:0 12px 35px #0008;backface-visibility:hidden}.ring-card img{width:100%;height:100%;object-fit:cover;pointer-events:none}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:25px;font-size:12px;color:var(--muted)}.carousel-controls button{border:1px solid var(--line);width:40px;height:40px;border-radius:50%}.photo-grid{columns:3;column-gap:18px}.photo-item{display:block;width:100%;padding:0;margin-bottom:18px;overflow:hidden;border-radius:10px;position:relative}.photo-item img{width:100%;display:block;transition:transform .6s}.photo-item:hover img{transform:scale(1.035)}.photo-item span{position:absolute;bottom:13px;right:13px;font-size:10px;background:#0009;padding:6px 9px;border-radius:20px}.photo-item.small-photo img{max-height:220px;object-fit:contain;background:#14151e}#photo-dialog{width:96vw;height:94svh;max-height:94svh;background:#090b12;padding:45px 60px;overflow:hidden}#photo-dialog figure{height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}#photo-full{max-width:100%;max-height:calc(100% - 45px);object-fit:contain}#photo-caption{color:var(--muted);font-size:12px}.photo-prev,.photo-next{position:absolute;top:50%;font-size:25px}.photo-prev{left:15px}.photo-next{right:15px}.moment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.moment-grid button{padding:0;border-radius:12px;overflow:hidden;background:var(--panel)}.moment-grid img{width:100%;max-height:600px;object-fit:contain;display:block}.writing-visual{padding:40px;border:1px solid var(--line);border-radius:16px;margin:35px 0;display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;background:radial-gradient(ellipse,#29203c55,transparent)}.writing-visual div{padding:23px;border:1px solid #a38cff44;border-radius:10px;font-size:13px}.writing-visual span{color:var(--purple)}.writing-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px}.writing-notes h2{font-size:22px;font-weight:500}.writing-notes p{color:var(--muted);line-height:1.8}.contact-page{display:flex;flex-direction:column;justify-content:center;min-height:65vh}.contact-email{font-size:clamp(19px,3.8vw,43px);letter-spacing:-1px;border-bottom:1px solid var(--purple);padding-bottom:12px;width:fit-content}.contact-meta{color:var(--muted);font-size:13px;margin-top:40px}footer{border-top:1px solid #ffffff0a;padding:25px 5%;display:flex;justify-content:space-between;color:#77788d;font-size:10px;gap:20px}footer a{color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--lime);color:#1c2318;padding:12px 24px;border-radius:10px;opacity:0;pointer-events:none;z-index:30;transition:opacity .2s}#toast.show{opacity:1}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}.motion-toggle{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 11px}.no-motion *{animation:none!important;transition:none!important}.no-motion .reveal{opacity:1;transform:none}
@media(min-width:1500px){.home{padding-top:65px}.universe{height:510px}.home-bottom{margin-top:60px}}@media(max-width:800px){.top-note{display:none}.home h1{letter-spacing:-2px}.universe{height:475px}.portal{min-width:147px;padding:12px;gap:10px}.portal small{font-size:9px}.portal strong{font-size:12px}.portal-icon{width:33px;height:33px}.p-projects{left:0}.p-resume{left:0}.p-github{left:3%}.p-linkedin{right:0}.p-writing{right:0}.p-hobbies{right:3%}.avatar-wrap{width:180px;height:180px}.avatar{width:185px;height:185px}.avatar-halo{width:155px;height:155px}.avatar.photo-fallback{width:155px;height:155px}.hello{right:-10px}.orbit{width:380px}.orbit.second{width:550px}.story-grid{gap:30px}.hobby-grid{grid-template-columns:1fr 1fr}.hobby-card:first-child{grid-column:1/-1;height:310px}.home-bottom{margin-top:45px}.home-bottom>span:first-child{display:none}}
@media(max-width:560px){.topbar{height:75px;padding:0 6%}.brand{font-size:23px}.home{padding:35px 6% 24px}.home h1{font-size:39px}.home-head p{font-size:11px}.universe{height:auto;padding-top:230px;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:11px}.avatar-wrap{top:105px;width:170px;height:170px}.avatar{height:180px;width:180px}.avatar-caption{bottom:-25px}.avatar-caption strong{font-size:15px}.hello{font-size:10px;top:0;right:-15px}.orbit{top:100px;width:270px;height:190px}.orbit.second{width:350px;height:220px}.portal{position:relative;inset:auto;transform:none;min-width:0;width:100%;padding:13px 10px;border-radius:12px;gap:9px}.portal strong{font-size:12px}.portal small{font-size:9px}.portal .arrow{display:none}.portal-icon{width:30px;height:30px}.p-contact{grid-column:1/-1;justify-content:center;padding:10px}.p-contact .portal-icon{width:27px;height:27px}.spark{top:40px;left:15%;font-size:20px}.spark.s2{top:155px;right:10%}.home-bottom{margin-top:30px;font-size:9px}.page{padding:30px 6% 65px}.back{margin-bottom:30px}.page h1{font-size:43px;letter-spacing:-2px}.projects-grid,.story-grid,.writing-notes{grid-template-columns:1fr}.project-art{height:220px;padding:20px}.hobby-grid{gap:12px}.hobby-card{height:280px}.hobby-label{left:15px;bottom:18px}.hobby-label h2{font-size:22px}.hobby-label small{font-size:8px;letter-spacing:1px}.photo-hero{height:480px;min-height:0;margin-bottom:40px;padding:25px}.photo-hero h1{font-size:54px}.photo-grid{columns:2;column-gap:10px}.photo-item{margin-bottom:10px}.photo-stage{height:320px}.ring-card{width:160px;height:160px;top:-80px;left:-80px}.section-heading{align-items:start;flex-direction:column}.section-heading h2{font-size:30px}.moment-grid{grid-template-columns:1fr}.writing-visual{padding:25px 12px;gap:8px}.writing-visual div{padding:15px;font-size:11px}dialog{padding:28px 20px}.detail h2{font-size:25px}footer{flex-wrap:wrap;padding:23px 6%}footer>span:last-child{display:none}.contact-email{letter-spacing:-.5px;font-size:21px}.availability{font-size:10px}#photo-dialog{padding:45px 38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media(min-width:801px) and (max-height:850px){.home{padding-top:28px}.universe{height:380px}.home-bottom{margin-top:38px}.home-head h1{font-size:54px}.home-head .eyebrow{font-size:9px}}


article.hobby-card{cursor:default}article.hobby-card:hover img{transform:none}.moment-photo{margin:0;border-radius:12px;overflow:hidden;background:var(--panel)}

.photo-stage{height:570px;perspective:1900px}.ring-card{width:320px;height:320px;top:-160px;left:-160px}@media(max-width:560px){.photo-stage{height:400px;perspective:1400px}.ring-card{width:220px;height:220px;top:-110px;left:-110px}}
.finance-home-link{display:inline-block;margin-top:12px;color:var(--lime);font-size:11px}.finance-credentials{display:grid;grid-template-columns:1fr 1fr;gap:24px}.finance-credentials article{border:1px solid var(--line);border-radius:15px;padding:28px;background:var(--panel)}.finance-credentials h2{font-size:24px;font-weight:500;line-height:1.5;letter-spacing:-.5px}.finance-credentials h2 span{color:var(--lime)}.finance-credentials p,.finance-intro,.finance-skills p,.finance-practice p,.finance-tools p,.finance-close p{color:var(--muted);font-size:13px;line-height:1.85}.finance-intro{max-width:700px}.finance-part{margin:50px 0 65px}.finance-part>h2{font-size:27px;font-weight:500;letter-spacing:-.5px}.finance-skills{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}.finance-skills article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.finance-number{color:var(--purple);font-family:Georgia,serif;font-size:23px;padding-top:3px}.finance-skills h3,.finance-practice h3,.finance-tools h3{font-size:17px;font-weight:500;margin:4px 0 10px}.finance-skills p{margin:0}.finance-practice{display:grid;grid-template-columns:1fr 1fr;gap:22px}.finance-practice article{border-left:2px solid var(--lime);background:var(--panel);padding:25px;border-radius:0 12px 12px 0}.finance-practice small{color:var(--lime);font-size:9px;letter-spacing:1.2px}.finance-practice h3{margin-top:15px}.finance-practice a{font-size:12px;color:var(--purple)}.finance-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.finance-close{border-top:1px solid var(--line);margin-top:60px;padding-top:45px}.finance-close h2{font-size:35px;font-weight:500;letter-spacing:-1px}.finance-close p{max-width:650px}@media(max-width:650px){.finance-credentials,.finance-skills,.finance-practice,.finance-tools{grid-template-columns:1fr}.finance-credentials article{padding:23px}.finance-part>h2{font-size:24px}.finance-home-link{font-size:10px;margin-top:9px}}
.full-body .avatar-wrap{width:230px;height:350px;top:44%}.full-body .avatar{width:230px;height:350px;object-fit:contain}.full-body .avatar-halo{width:230px;height:300px;border-radius:48%;background:#c0a2ff08}.full-body .hello{top:8px;right:-64px}.full-body .avatar-caption{bottom:-35px}.full-body .universe{height:430px}.full-body .p-contact{top:98%}.full-body .home-bottom{margin-top:65px}@media(max-width:800px) and (min-width:561px){.full-body .avatar-wrap,.full-body .avatar{width:190px;height:330px}.full-body .avatar-halo{width:180px;height:270px}.full-body .hello{right:-25px;font-size:10px}}@media(max-width:560px){.full-body .universe{height:auto;padding-top:340px}.full-body .avatar-wrap{width:200px;height:285px;top:155px}.full-body .avatar{width:200px;height:285px}.full-body .avatar-halo{width:190px;height:245px}.full-body .avatar-caption{bottom:-34px}.full-body .hello{top:18px;right:-43px;font-size:10px}.full-body .orbit{top:155px;height:275px}.full-body .orbit.second{height:310px}.full-body .p-contact{top:auto}.full-body .home-bottom{margin-top:30px}}
.half-body .avatar-wrap{width:210px;height:225px;top:46%;display:block;isolation:isolate}.half-body .avatar{position:absolute;width:210px;height:325px;object-fit:contain;object-position:top;top:0;left:0;clip-path:inset(0 0 31% 0)}.half-body .avatar-halo{width:195px;height:195px;left:8px;top:10px}.half-body .hello{top:0;right:-48px;z-index:2}.half-body .avatar-caption{bottom:-42px;left:50%;transform:translateX(-50%)}.half-body .universe{height:400px}.half-body .p-contact{top:94%}.half-body .home-bottom{margin-top:55px}@media(max-width:800px) and (min-width:561px){.half-body .avatar-wrap{width:175px;height:195px}.half-body .avatar{width:175px;height:290px}.half-body .avatar-halo{width:165px;height:165px}.half-body .hello{right:-25px;font-size:10px}}@media(max-width:560px){.half-body .universe{height:auto;padding-top:250px}.half-body .avatar-wrap{width:180px;height:200px;top:105px}.half-body .avatar{width:180px;height:290px}.half-body .avatar-halo{width:165px;height:165px}.half-body .avatar-caption{bottom:-32px}.half-body .hello{right:-38px;top:0;font-size:10px}.half-body .p-contact{top:auto}.half-body .home-bottom{margin-top:30px}}
.half-body .avatar-wrap{height:190px}.half-body .avatar{clip-path:inset(0 0 48% 0)}@media(max-width:560px){.half-body .avatar-wrap{height:180px}.half-body .universe{padding-top:235px}}
.half-body .hello{top:-22px}@media(max-width:560px){.half-body .hello{top:-20px}}
.half-body .p-projects,.half-body .p-resume,.half-body .p-github,.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{transform:none;width:210px}.half-body .p-projects,.half-body .p-resume,.half-body .p-github{left:5%}.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{right:5%}.half-body .p-projects,.half-body .p-linkedin{top:18%}.half-body .p-resume,.half-body .p-writing{top:46%}.half-body .p-github,.half-body .p-hobbies{top:74%}.half-body .hello{left:50%;right:auto;top:-35px;transform:translateX(-50%);white-space:nowrap;border-radius:12px}.half-body .avatar-caption{width:270px;bottom:-30px}.half-body .avatar-wrap{top:44%}.half-body .p-contact{top:96%}@media(max-width:800px) and (min-width:561px){.half-body .p-projects,.half-body .p-resume,.half-body .p-github,.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{width:165px}.half-body .p-projects,.half-body .p-resume,.half-body .p-github{left:0}.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{right:0}}@media(max-width:560px){.half-body .p-projects,.half-body .p-resume,.half-body .p-github,.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{width:100%;left:auto;right:auto;top:auto;transform:none;min-height:64px}.half-body .portal strong{font-size:11px;white-space:nowrap}.half-body .portal small{font-size:8px}.half-body .avatar-wrap{top:108px}.half-body .hello{top:-24px}.half-body .avatar-caption{bottom:-22px}.half-body .p-contact{top:auto}.half-body .universe{gap:12px;padding-top:240px}}
@media(min-width:801px){.half-body .avatar-wrap{width:230px;height:208px}.half-body .avatar{width:230px;height:355px}.half-body .avatar-halo{width:215px;height:215px}.half-body .portal{padding:17px 19px}.half-body .portal strong{font-size:15px}.half-body .portal small{font-size:11px}.half-body .portal-icon{width:43px;height:43px}.half-body .p-projects,.half-body .p-resume,.half-body .p-github,.half-body .p-linkedin,.half-body .p-writing,.half-body .p-hobbies{width:230px}.half-body .hello{font-size:13px}.half-body .avatar-caption strong{font-size:18px}.half-body .avatar-caption{font-size:12px}.half-body .home-head p{font-size:14px}.half-body .finance-home-link{font-size:12px}}@media(max-width:560px){.half-body .avatar-wrap{width:195px;height:185px}.half-body .avatar{width:195px;height:310px}.half-body .avatar-halo{width:180px;height:180px}.half-body .universe{padding-top:250px}.half-body .portal strong{font-size:12px}.half-body .portal small{font-size:9px}.half-body .portal-icon{width:33px;height:33px}.half-body .avatar-caption strong{font-size:16px}}
.hobby-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hobby-card:first-child{grid-column:1/-1;height:430px}.hobby-card:first-child .hobby-label{left:35px;bottom:32px}.hobby-card:first-child h2{font-size:38px}.hobby-card:not(:first-child){height:330px}.chess-card{background:radial-gradient(ellipse at 50% 20%,#49405d,#151421 80%)}.chess-art{position:absolute;top:35px;left:50%;transform:translateX(-50%) rotate(-9deg);width:86%;display:grid;grid-template-columns:repeat(8,1fr);padding:20px 12px;border:1px solid #bca0ff33;border-radius:8px;box-shadow:0 15px 35px #0004;background:repeating-conic-gradient(#b5a7c244 0% 25%,#32283e 0% 50%) 50% / 52px 52px}.chess-art span{font-family:Georgia,serif;font-size:28px;text-align:center;color:#ece2cf;text-shadow:0 2px 4px #0009}.chess-art span:nth-child(n+9){padding-top:18px;color:#d4cce2}@media(max-width:800px){.hobby-card:not(:first-child){height:290px}.hobby-label h2{font-size:23px}.chess-art span{font-size:22px}.chess-art{padding:18px 8px}}@media(max-width:560px){.hobby-grid{grid-template-columns:1fr;gap:18px}.hobby-card:first-child{height:340px}.hobby-card:first-child .hobby-label{left:24px;bottom:24px}.hobby-card:first-child h2{font-size:30px}.hobby-card:not(:first-child){height:280px}.hobby-label{left:24px;bottom:24px}.hobby-label h2{font-size:27px}.chess-art{width:75%;top:35px}.chess-art span{font-size:30px}}
.half-body .home-head h1{font-size:clamp(28px,3.3vw,46px);line-height:1.2;letter-spacing:-1.5px;max-width:1000px;margin:12px auto 15px}@media(max-width:560px){.half-body .home-head h1{font-size:28px;letter-spacing:-.8px}}
.half-body .home-head h1{font-size:clamp(24px,2.7vw,36px);letter-spacing:-1px}@media(max-width:560px){.half-body .home-head h1{font-size:23px;letter-spacing:-.5px}}
.half-body .home-head .eyebrow{font-size:10px;letter-spacing:2.6px}@media(max-width:560px){.half-body .home-head .eyebrow{font-size:10px}}
.hobbies-page .back{margin-bottom:28px}.hobbies-page .page-head{margin-bottom:32px}.hobbies-page .page-head h1{font-size:clamp(34px,4.2vw,54px);letter-spacing:-1.8px;line-height:1.15;margin:12px 0}.hobbies-page .page-head>p{margin:0;font-size:14px}.hobbies-page .hobby-card:first-child{height:380px}.hobbies-page .hobby-card:first-child img{object-position:center 48%}.hobbies-page .hobby-card:not(:first-child){height:300px}@media(max-width:560px){.hobbies-page .page-head h1{font-size:35px;letter-spacing:-1px}.hobbies-page .page-head>p{font-size:12px}.hobbies-page .hobby-card:first-child{height:340px}.hobbies-page .hobby-card:not(:first-child){height:270px}}
.photography-invite{font-size:14px;line-height:1.6;max-width:450px;color:#e0dfdf;margin:0 0 20px}.photography-cta{display:inline-block;padding:12px 19px;border:1px solid #ffffff66;border-radius:8px;background:#ffffff14;font-size:13px!important}.hobby-card:first-child:hover .photography-cta{background:#fff;color:#171421}.hobbies-page .hobby-card:first-child h2{font-size:34px;max-width:620px}@media(max-width:560px){.hobbies-page .hobby-card:first-child h2{font-size:27px}.photography-invite{font-size:12px;margin-bottom:16px}.photography-cta{padding:10px 15px}}
.half-body .home-head h1{font-size:clamp(21px,2.2vw,29px);letter-spacing:-.6px}@media(max-width:560px){.half-body .home-head h1{font-size:20px;letter-spacing:-.3px}}
.half-body .home-head h1{font-size:clamp(19px,1.9vw,25px)}@media(max-width:560px){.half-body .home-head h1{font-size:18px}}

.finance-credentials .cma-institute{color:var(--lime);font-weight:500;text-shadow:0 0 14px #d5ef9a25}.finance-credentials .cma-exam-part{margin:4px 0;line-height:1.6}

.finance-credentials .cma-institute{font-size:24px;font-weight:500;line-height:1.5;letter-spacing:-.5px}

.finance-credentials article:has(.cma-institute) h2{margin-bottom:4px}.finance-credentials .cma-institute{margin-top:0}

.finance-certifications{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:48px}.finance-certifications article{padding:25px;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.finance-certifications .eyebrow{color:var(--purple);font-size:9px;letter-spacing:1.4px}.finance-certifications h3{font-size:19px;font-weight:500;line-height:1.4;margin:14px 0 10px}.finance-certifications p{font-size:13px;line-height:1.75;color:var(--muted);margin:8px 0 0}.finance-certifications .cert-provider{color:var(--lime)}.finance-tools{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.finance-certifications,.finance-tools{grid-template-columns:1fr}}

.finance-certifications .cert-link{display:inline-block;margin-top:18px;color:var(--purple);font-size:12px;font-weight:500}.finance-certifications .cert-link:hover{color:var(--lime)}

.contact-phone{display:block;width:fit-content;margin-top:20px;font-size:20px;color:var(--lime)}.contact-phone:hover{text-decoration:underline;text-underline-offset:5px}

.contact-details{max-width:740px;width:100%;margin:10px 0 12px}.contact-detail{padding:22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:24px}.contact-label{font-size:13px;color:var(--muted)}.contact-details .contact-email,.contact-details .contact-phone{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin:0;padding:0;border:0;font-size:clamp(19px,2.6vw,30px);line-height:1.4;letter-spacing:-.5px}.contact-details .contact-email{color:var(--ink)}.contact-details a span{font-size:22px;color:var(--purple)}.contact-page .actions{gap:12px;margin-top:24px;flex-wrap:wrap}.contact-page .contact-meta{margin-top:30px}@media(max-width:560px){.contact-detail{grid-template-columns:1fr;gap:10px;padding:20px 0}.contact-details .contact-email,.contact-details .contact-phone{font-size:19px;letter-spacing:-.3px}.contact-page .actions{gap:10px}}

.photo-page .back{margin-bottom:20px}.photo-hero{height:260px;min-height:0;max-height:none;padding:24px 32px;margin-bottom:24px}.photo-hero h1{font-size:clamp(38px,4vw,54px);line-height:1.05;margin:8px 0}.photo-hero p{margin:8px 0 12px}.photo-page .section-heading{margin-top:24px}@media(max-width:560px){.photo-hero{height:235px;padding:20px;margin-bottom:20px}.photo-hero h1{font-size:38px}.photo-hero .action{font-size:11px;padding:10px 12px}}

.photo-page .carousel-heading{margin:20px 0 0}.photo-page .carousel-heading h2{font-family:Manrope,var(--font);font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:-1px;line-height:1.2}.photo-page .photo-stage{height:410px}@media(max-width:560px){.photo-page .photo-stage{height:290px}.photo-page .carousel-heading h2{font-size:25px;letter-spacing:-.7px}}

.photo-page .carousel-heading{margin:16px 0 0}.photo-page .carousel-heading h2{font-family:Georgia,serif;font-size:clamp(28px,3.2vw,39px);font-weight:400;letter-spacing:-1.1px;color:var(--ink)}.photo-page .carousel-heading h2 em{color:var(--purple);font-weight:400}.photo-page .photo-stage{height:370px}@media(max-width:560px){.photo-page .carousel-heading h2{font-size:29px}.photo-page .photo-stage{height:265px}}

.photo-hero.photo-intro{height:auto;min-height:0;padding:8px 0 20px;overflow:visible;border-radius:0;margin-bottom:12px}.photo-hero.photo-intro:after{display:none}.photo-intro h1{margin-top:10px}.photo-intro h1 em{color:var(--purple)}

.photo-page{background:radial-gradient(ellipse at 50% 55%,#a38cff12,transparent 65%)}.photo-hero.photo-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 22px;margin-bottom:0;border-bottom:1px solid var(--line)}.photo-intro .photo-instagram{position:relative;z-index:1;flex-shrink:0}.photo-page .carousel-heading{margin:22px 0 0;text-align:center;justify-content:center;align-items:center}.photo-page .photo-stage{height:350px}.photo-page .carousel-controls{margin-top:8px}@media(max-width:560px){.photo-hero.photo-intro{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:18px}.photo-intro h1{font-size:36px}.photo-page .photo-stage{height:265px}.photo-page .carousel-heading{margin-top:20px}}



.finance-credentials .cma-transcript-link{display:inline-block;margin-top:8px;color:var(--purple);font-size:12px;font-weight:500}.finance-credentials .cma-transcript-link:hover{color:var(--lime)}

.timeline .cma-transcript-link{display:inline-block;margin-top:8px;color:var(--purple);font-size:12px}.timeline .cma-transcript-link:hover{color:var(--lime)}

.timeline .recommendation-link{display:inline-block;margin-top:8px;color:var(--purple);font-size:12px}.timeline .recommendation-link:hover{color:var(--lime)}

.miles-links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:14px}.timeline .miles-links a{color:var(--purple);font-size:12px;margin:0}.timeline .miles-links a:hover{color:var(--lime)}

.experience-detail{padding-left:20px;margin:18px 0;color:var(--muted);font-size:14px;line-height:1.8;max-width:900px}.experience-detail li{padding-left:5px;margin:12px 0}.experience-detail strong{color:var(--ink);font-weight:500}.timeline article:has(.experience-detail){padding-top:28px;padding-bottom:28px}

.experience-accordion{border-bottom:1px solid var(--line)}.experience-accordion summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0}.experience-accordion summary::-webkit-details-marker{display:none}.experience-accordion summary small{display:block;color:var(--purple);font-size:10px;letter-spacing:1px}.experience-title{display:block;font-size:22px;font-weight:500;margin-top:10px;line-height:1.4}.experience-toggle{color:var(--purple);font-size:28px;font-weight:400;flex-shrink:0;transition:transform .2s}.experience-accordion[open] .experience-toggle{transform:rotate(45deg)}.experience-body{padding:0 0 26px;max-width:950px}.experience-body>p{color:var(--muted);font-size:14px;line-height:1.8}.experience-accordion summary:hover .experience-title{color:var(--purple)}@media(max-width:560px){.experience-title{font-size:19px}}
