.flip-card{--fc-w: 300px;--fc-h: 400px;--fc-radius: 22px;--fc-bg: #27272a;--fc-ink: #f5f5f5;--fc-shadow: #000000;--fc-shadow-o: .45;--fc-glare: .22;position:relative;display:inline-block;width:var(--fc-w);max-width:100%;height:var(--fc-h);border-radius:var(--fc-radius);outline:none;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y}.flip-card[data-axis=x]{touch-action:pan-x}.flip-card[data-draggable]{cursor:grab}.flip-card[data-dragging]{cursor:grabbing}.flip-card[data-disabled]{cursor:default;opacity:.6}.flip-card__shadow{position:absolute;inset:12% 9% -5%;border-radius:var(--fc-radius);background:color-mix(in srgb,var(--fc-shadow) calc(var(--fc-shadow-o) * 100%),transparent);filter:blur(22px);pointer-events:none}.flip-card__rotor{position:absolute;inset:0;transform-style:preserve-3d}.flip-card__face{position:absolute;inset:0;overflow:hidden;border-radius:var(--fc-radius);background:var(--fc-bg);color:var(--fc-ink);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-card__face img{-webkit-user-drag:none}.flip-card__face--back{transform:rotateY(180deg)}.flip-card[data-axis=x] .flip-card__face--back{transform:rotateX(180deg)}.flip-card__glare{position:absolute;inset:0;background:radial-gradient(circle farthest-side at var(--fc-gx, 50%) var(--fc-gy, 50%),rgba(255,255,255,var(--fc-glare)) 0%,rgba(255,255,255,calc(var(--fc-glare) * .76)) 12%,rgba(255,255,255,calc(var(--fc-glare) * .5)) 26%,rgba(255,255,255,calc(var(--fc-glare) * .28)) 42%,rgba(255,255,255,calc(var(--fc-glare) * .12)) 60%,rgba(255,255,255,calc(var(--fc-glare) * .04)) 78%,rgba(255,255,255,0) 100%);opacity:var(--fc-sheen, 0);pointer-events:none}.flip-card[data-fade] .flip-card__face{transform:none;opacity:0;backface-visibility:visible;-webkit-backface-visibility:visible;transition:opacity .2s ease}.flip-card[data-fade=front] .flip-card__face--front,.flip-card[data-fade=back] .flip-card__face--back{opacity:1}.flex-carousel{position:relative;width:100%;height:100%;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain;outline:none}.flex-carousel[data-hover=open]{cursor:zoom-in}.flex-carousel[data-hover=close]{cursor:zoom-out}.flex-carousel[data-dragging]{cursor:grabbing}.flex-carousel:focus-visible{box-shadow:inset 0 0 0 2px #80808c8c}.flex-carousel__caption{position:absolute;left:0;right:0;top:calc(50% + var(--flex-carousel-half) * var(--flex-carousel-lift, 1) + 22px);display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px;pointer-events:none;text-align:center;animation:flex-carousel-reveal .9s ease both}.flex-carousel__title{display:flex;flex-direction:column;align-items:center;max-width:100%;font-size:15px;font-weight:500;line-height:1.35;animation:flex-carousel-title .52s cubic-bezier(.22,1,.36,1)}.flex-carousel__subtitle{font-weight:400;opacity:.6}.flex-carousel__count{display:inline-flex;align-items:center;gap:3px;font-size:12px;line-height:1;font-variant-numeric:tabular-nums;opacity:.5;transition:opacity .4s ease}.flex-carousel__count[data-hidden]{opacity:0}.flex-carousel__digits{display:inline-flex}.flex-carousel__digit{display:inline-block;height:1em;overflow:hidden}.flex-carousel__reel{display:flex;flex-direction:column;transition:transform .6s cubic-bezier(.22,1,.36,1)}.flex-carousel__reel span{height:1em}.flex-carousel__slash{opacity:.6}.flex-carousel__live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes flex-carousel-title{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes flex-carousel-reveal{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.flex-carousel__caption,.flex-carousel__title{animation:none}.flex-carousel__reel{transition:none}}:root{font-family:Georgia,Times New Roman,serif;color:#f2f2f2;background:#000;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#000}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}::selection{background:#555;color:#fff}a:focus-visible,button:focus-visible,.flip-card:focus-visible{outline:2px solid #eee;outline-offset:6px}.profile{max-width:1080px;margin:0 auto;padding:60px 40px 120px}.photo-container{display:flex;justify-content:center;margin-bottom:42px}.photo-placeholder{width:100%;height:100%;background:#131313;border:1px solid #262626;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#a1a1a1;font-family:Arial,Helvetica,sans-serif;font-size:17px;gap:14px}.photo-placeholder.admin{background:#191919}.photo-placeholder small{font-size:14px}.flip-prompt{position:absolute;bottom:30px;font-size:12px;color:gray}.portrait{width:100%;height:100%;object-fit:cover}.introduction{max-width:820px;margin:0 auto;font-size:18px;line-height:1.7}.introduction p+p{margin-top:20px}.portfolio{height:450px;max-width:900px;margin:32px auto 60px;background:#000}.flex-carousel__caption{font-family:Arial,Helvetica,sans-serif}.flex-carousel__title{font-size:13px}.flex-carousel__count{font-size:11px}.portfolio-fallback{height:100%;display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;align-items:center}.portfolio-fallback figure{flex:0 0 65%;height:85%;margin:0;scroll-snap-align:center}.portfolio-fallback img{width:100%;height:90%;object-fit:contain}.portfolio-fallback figcaption{text-align:center;font-size:13px;margin-top:12px}.resume{font-size:16px;line-height:1.65}.resume section+section{margin-top:36px}.resume h2{font-size:18px;font-weight:700;margin-bottom:30px}.resume h3{font-size:18px;line-height:1.5;font-weight:700}.entry-line{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:4px}.entry-line strong{white-space:nowrap;font-size:15px}.recognition{margin-top:30px}.resume ul{margin:5px 0 0;padding-left:34px}.resume li{padding-left:3px;margin-bottom:3px}.resume article+article{margin-top:20px}.admin-resume{margin-top:70px}.admin-resume section+section{margin-top:42px}.admin-resume h2{margin-bottom:28px}@media(max-width:700px){.profile{padding:40px 24px 80px}.photo-container{margin-bottom:35px}.photo-container .flip-card{width:min(350px,100%);height:auto;aspect-ratio:35/46}.introduction{font-size:16px;line-height:1.7}.portfolio{height:370px;margin:24px -24px 45px;max-width:none}.resume{font-size:15px;line-height:1.65}.resume h2,.resume h3{font-size:17px}.resume h2{margin-bottom:24px}.entry-line{display:block}.entry-line strong{display:block;margin-top:6px;font-size:14px}.recognition{margin-top:24px}.resume ul{padding-left:23px}.admin-resume{margin-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.profile-heading{text-align:center;font-family:Arial,Helvetica,sans-serif;margin-bottom:32px}.profile-heading h1{font-size:32px;line-height:1.25;font-weight:400;margin-bottom:14px}.profile-heading p{font-size:16px;line-height:1.6;color:#ddd}.profile-heading p+p{font-size:14px;color:#aaa;margin-top:2px}@media(max-width:700px){.profile-heading{margin-bottom:26px}.profile-heading h1{font-size:27px}.profile-heading p{font-size:15px}.profile-heading p+p{font-size:13px}}.contact-footer{text-align:center;padding:0 24px 60px;font-family:Arial,Helvetica,sans-serif;font-size:16px}.contact-footer a{color:#ddd;text-decoration:none;text-underline-offset:5px}.contact-footer a:hover{text-decoration:underline;color:#fff}@media(max-width:700px){.contact-footer{font-size:15px;padding-bottom:40px}}.photo-container{flex-direction:column;align-items:center}.flip-hint{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:7px 10px;border:0;background:transparent;color:#aaa;font:12px Arial,Helvetica,sans-serif;cursor:pointer}.flip-hint:hover{color:#fff}.name-hero{position:relative;height:100vh;height:100svh;width:100%;background:#000}.name-hero h1{position:absolute;top:38.2%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);margin:0;text-align:center;font-family:Arial,Helvetica,sans-serif;font-size:clamp(28px,5vw,72px);font-weight:400;line-height:1.2}.resume{max-width:820px;margin:64px auto 0;font-size:16px;line-height:1.75}.resume section+section{margin-top:64px}.resume h2{margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #333;font-size:24px;font-weight:700;line-height:1.3;color:#f2f2f2}.resume h3{margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.45;color:#f2f2f2}.resume .entry-line{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-top:0}.resume .entry-line p{color:#b8b8b8}.resume .entry-line strong{flex-shrink:0;font-size:14px;font-weight:400;color:#999}.resume ul{margin:18px 0 0;padding-left:22px;color:#ccc}.resume li{margin-bottom:8px}.resume article+article{margin-top:32px;padding-top:32px;border-top:1px solid #222}.resume .recognition{margin-top:24px;padding-left:16px;border-left:2px solid #444;font-size:14px;line-height:1.7;color:#999}.admin-resume section>p{color:#ccc}@media(max-width:700px){.resume{margin-top:44px;font-size:15px}.resume section+section{margin-top:44px}.resume h2{margin-bottom:24px;padding-bottom:12px;font-size:21px}.resume h3{font-size:18px}.resume .entry-line{display:block}.resume .entry-line strong{display:block;margin-top:8px;font-size:13px}.resume article+article{margin-top:26px;padding-top:26px}.resume .recognition{font-size:13px}}.personal-footer{max-width:1080px;margin:0 auto;padding:0 40px 64px}.glass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.glass-card{min-width:0;padding:36px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(135deg,#ffffff1f,#ffffff08),#111820;box-shadow:inset 0 1px #ffffff26,0 16px 40px #00000040}.skills-card{background:radial-gradient(ellipse at top left,rgba(125,160,200,.22),transparent 75%),linear-gradient(135deg,#ffffff1a,#ffffff05),#111820}.community-card{background:radial-gradient(ellipse at top right,rgba(150,125,190,.22),transparent 75%),linear-gradient(135deg,#ffffff1a,#ffffff05),#19141f}.glass-card h2,.connect-section h2{font-size:26px;line-height:1.3}.glass-card h2{margin-bottom:30px}.skill-items{display:grid;gap:24px}.skill-item{display:flex;align-items:flex-start;gap:16px}.skill-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#ffffff12;font-size:24px}.skill-item h3{margin-bottom:5px;font-size:17px;line-height:1.4}.skill-item p{font-size:15px;line-height:1.6;color:#c3c8d0}.community-intro,.community-note{font-size:17px;line-height:1.75;color:#d1cbd8}.community-tags{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.community-tags span{padding:9px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff0f;font-size:14px;line-height:1.5}.community-note{font-size:15px}.connect-section{margin-top:64px;padding-top:40px;border-top:1px solid #292929;text-align:center}.contact-location{margin-top:18px;font-size:16px;color:#aaa}.contact-email{margin-top:10px;font-size:20px;line-height:1.5;overflow-wrap:anywhere}.social-icons{display:flex;justify-content:center;gap:14px;margin-top:24px}.social-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid #333;border-radius:50%;background:#141414;color:#ddd}.social-icon svg{width:24px;height:24px}@media(max-width:700px){.personal-footer{padding:0 24px 48px}.glass-grid{grid-template-columns:1fr;gap:20px}.glass-card{padding:28px 24px;border-radius:24px}.glass-card h2,.connect-section h2{font-size:23px}.community-intro{font-size:16px}.connect-section{margin-top:44px;padding-top:32px}.contact-email{font-size:18px}}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.glass-card{position:relative;isolation:isolate;overflow:visible;border:1px solid #302b38;box-shadow:none}.glass-card,.skills-card,.community-card{background:#120f17}.glass-card:before,.glass-card:after{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;pointer-events:none;z-index:0;background:conic-gradient(from var(--border-angle),transparent 0% 55%,#c084fc 65%,#f472b6 78%,#38bdf8 90%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:border-orbit 8s linear infinite;transition:opacity .35s ease}.glass-card:before{opacity:.5}.glass-card:after{opacity:.25;filter:blur(7px)}@media(hover:hover){.glass-card:hover:before{opacity:1}.glass-card:hover:after{opacity:.8}}.glass-card>*{position:relative;z-index:1}.skill-item p,.community-intro,.community-note{color:#ccc}@keyframes border-orbit{to{--border-angle: 360deg}}.flip-hint{font-size:15px;animation:flip-hint-bounce 2.8s ease-in-out infinite}.flip-hint span{background:linear-gradient(to right,#5227ff,#ff9ffc,#b497cf,#5227ff);background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:flip-hint-gradient 8s ease-in-out infinite alternate}@keyframes flip-hint-gradient{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes flip-hint-bounce{0%,60%,to{transform:translateY(0)}72%{transform:translateY(-10px)}84%{transform:translateY(0)}92%{transform:translateY(-5px)}}.name-hero{overflow:hidden}.particle-text{display:block;width:100%;height:100%;pointer-events:none}.name-hero .hero-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}main{position:relative;isolation:isolate}.site-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.name-hero,.portfolio{background:transparent}
