:root{--bg: #030304;--surface: #111113;--border: rgba(255, 255, 255, .07);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #3f3f46;--accent-pink: #f0cbc4}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scrollbar-width:none}::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--text-primary);font-family:Inter Tight,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.5;-webkit-user-select:none;user-select:none}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit;padding:0}::selection{background:#f0cbc44d}.gradient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:#05050a;background:linear-gradient(125deg,rgba(255,255,255,.05),transparent 28%),linear-gradient(225deg,rgba(70,42,140,.16),transparent 34%),linear-gradient(35deg,rgba(37,120,255,.1),transparent 30%),linear-gradient(180deg,rgba(255,120,92,.08),transparent 22%),conic-gradient(from 210deg at 50% 48%,#ffffff0d,#6860ff1f,#4095ff14,#ff845c1a,#62c4b614,#ffffff0a),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 120px),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 1px,transparent 96px),radial-gradient(1200px circle at 50% 6%,rgba(255,255,255,.04) 0%,transparent 58%),radial-gradient(920px circle at 50% 120%,rgba(10,20,38,.26) 0%,transparent 72%),radial-gradient(700px circle at var(--b1x, 16%) var(--b1y, 22%),rgba(104,96,255,.12) 0%,transparent 70%),radial-gradient(760px circle at var(--b2x, 83%) var(--b2y, 76%),rgba(64,149,255,.1) 0%,transparent 70%),radial-gradient(600px circle at var(--b3x, 50%) var(--b3y, 44%),rgba(255,132,92,.08) 0%,transparent 70%),radial-gradient(640px circle at var(--b4x, 78%) var(--b4y, 28%),rgba(176,108,255,.08) 0%,transparent 72%),radial-gradient(720px circle at var(--b5x, 22%) var(--b5y, 72%),rgba(98,196,182,.07) 0%,transparent 72%),radial-gradient(980px circle at var(--b6x, 62%) var(--b6y, 18%),rgba(34,62,125,.16) 0%,transparent 74%);background-blend-mode:screen,screen,screen,screen,color-dodge,overlay,soft-light,normal,screen,screen,screen,screen,screen,screen}.gradient-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00000080,#000000b8),radial-gradient(circle at 50% 18%,rgba(0,0,0,.1),transparent 55%),radial-gradient(circle at 50% 82%,rgba(0,0,0,.2),transparent 70%)}@media(max-width:768px){.gradient-bg{background:linear-gradient(125deg,rgba(255,255,255,.035),transparent 28%),linear-gradient(225deg,rgba(70,42,140,.12),transparent 34%),linear-gradient(35deg,rgba(37,120,255,.08),transparent 30%),linear-gradient(180deg,rgba(255,120,92,.06),transparent 22%),conic-gradient(from 210deg at 50% 48%,#ffffff0a,#6860ff1a,#4095ff12,#ff845c14,#62c4b60f,#ffffff08),radial-gradient(700px circle at 50% 6%,rgba(255,255,255,.03) 0%,transparent 58%),radial-gradient(560px circle at 50% 120%,rgba(10,20,38,.2) 0%,transparent 72%),radial-gradient(520px circle at var(--b1x, 16%) var(--b1y, 22%),rgba(104,96,255,.1) 0%,transparent 70%),radial-gradient(560px circle at var(--b2x, 83%) var(--b2y, 76%),rgba(64,149,255,.08) 0%,transparent 70%),radial-gradient(460px circle at var(--b3x, 50%) var(--b3y, 44%),rgba(255,132,92,.07) 0%,transparent 70%),radial-gradient(500px circle at var(--b4x, 78%) var(--b4y, 28%),rgba(176,108,255,.06) 0%,transparent 72%),radial-gradient(560px circle at var(--b5x, 22%) var(--b5y, 72%),rgba(98,196,182,.05) 0%,transparent 72%),radial-gradient(720px circle at var(--b6x, 62%) var(--b6y, 18%),rgba(34,62,125,.12) 0%,transparent 74%);background-blend-mode:screen,screen,screen,screen,color-dodge,normal,screen,screen,screen,screen,screen}.gradient-bg:after{background:linear-gradient(180deg,#0000009e,#000000d1),radial-gradient(circle at 50% 18%,rgba(0,0,0,.14),transparent 55%),radial-gradient(circle at 50% 82%,rgba(0,0,0,.24),transparent 70%)}}.side-nav{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:100;display:flex;flex-direction:column;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .5s ease}.side-nav .side-nav-group{display:flex;flex-direction:column;align-items:flex-end}.side-nav .side-nav-connector{display:block;width:1px;height:38px;background:linear-gradient(to bottom,#ffffff1a,#ffffff0d);margin-right:4px}.side-nav .side-nav-item{display:flex;align-items:center;gap:.75rem;cursor:pointer}.side-nav .side-nav-icon{display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;font-size:.95rem;line-height:1;color:#ffffff42;flex-shrink:0;transition:color .25s ease,transform .25s ease,text-shadow .25s ease}.side-nav .side-nav-dot{display:block;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.18);background:transparent;flex-shrink:0;transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}.side-nav .side-nav-label{font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;opacity:0;transform:translate(6px);transition:opacity .2s ease,transform .2s ease,color .2s}.side-nav .side-nav-item--active .side-nav-dot{background:var(--accent-pink);border-color:var(--accent-pink);transform:scale(1.15);box-shadow:0 0 8px #f0cbc459}.side-nav .side-nav-item--active .side-nav-icon{color:var(--accent-pink);transform:scale(1.1);text-shadow:0 0 8px rgba(240,203,196,.28)}.side-nav .side-nav-item:hover .side-nav-dot{border-color:#ffffff73;background:#ffffff1f}.side-nav .side-nav-item:hover .side-nav-icon{color:#ffffff8c}.side-nav .side-nav-item:hover .side-nav-label,.side-nav .side-nav-item:focus-visible .side-nav-label{opacity:1;transform:translate(0);color:var(--text-secondary)}.side-nav--visible{opacity:1;pointer-events:auto}@media(max-width:768px){.side-nav{display:none}}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0 clamp(1.5rem,5vw,5rem);overflow:hidden;z-index:1}.hero .hero-content{width:fit-content;margin:0 auto}.hero .hero-name{font-family:Bebas Neue,sans-serif;font-size:clamp(4rem,12vw,15rem);line-height:.88;letter-spacing:.01em;color:var(--text-primary)}.hero .hero-name-line{display:block}.hero .hero-meta{margin-top:1.5rem;text-align:center}.hero .hero-role{font-family:Bebas Neue,sans-serif;font-size:clamp(1.25rem,3vw,3rem);color:var(--text-secondary);letter-spacing:.06em}.hero .hero-scroll{position:absolute;bottom:clamp(2rem,5vh,4rem);right:clamp(1.5rem,5vw,5rem);display:flex;flex-direction:column;align-items:center;gap:.625rem;color:var(--text-muted)}.hero .hero-scroll-text{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl}.hero .hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,transparent,var(--text-muted))}.hero-bookmark-wrap{position:fixed;top:0;right:0;width:280px;height:280px;overflow:hidden;z-index:50;pointer-events:none}.hero-bookmark{position:absolute;top:62px;right:-100px;width:420px;padding:1rem 0;display:flex;flex-direction:column;align-items:center;gap:0;transform:rotate(45deg);background:linear-gradient(to bottom,var(--accent-pink) 0px,var(--accent-pink) 4px,white 4px,white 9px,var(--accent-pink) 9px,var(--accent-pink) calc(100% - 9px),white calc(100% - 9px),white calc(100% - 4px),var(--accent-pink) calc(100% - 4px),var(--accent-pink) 100%);text-decoration:none;text-align:center;pointer-events:all;transition:opacity .2s}.hero-bookmark:hover{opacity:.8}.hero-bookmark-name{font-family:DM Sans,sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:.04em;color:#1a0f0d}.hero-bookmark-live{font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.04em;color:#1a0f0d}.section{position:relative;z-index:1}.section .section-heading{position:relative;z-index:1;padding:0 clamp(1.5rem,5vw,5rem);margin-bottom:clamp(2.5rem,5vw,4rem)}.section .section-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-pink);margin-bottom:.5rem;font-weight:500}.section .section-title{font-family:Bebas Neue,sans-serif;font-size:clamp(3rem,7vw,8rem);line-height:.9;letter-spacing:.02em;color:var(--text-primary)}.corner-mark{position:absolute;font-size:.9375rem;color:var(--text-muted);font-family:Inter Tight,sans-serif;font-weight:300;z-index:2;line-height:1}.corner-mark--tl{top:1.5rem;left:1.5rem}.corner-mark--tr{top:1.5rem;right:1.5rem}.corner-mark--bl{bottom:1.5rem;left:1.5rem}.corner-mark--br{bottom:1.5rem;right:1.5rem}.projects{padding-top:clamp(5rem,12vh,10rem);padding-bottom:0}.projects .project-list{border-top:1px solid var(--border)}.projects .project-feature{display:grid;grid-template-areas:"num content";grid-template-columns:30fr 70fr;align-items:center;border-bottom:1px solid var(--border);min-height:55vh;overflow:hidden;transition:background .3s ease}.projects .project-feature:hover{background:#ffffff04}.projects .project-feature-number{grid-area:num;font-family:Bebas Neue,sans-serif;font-size:clamp(5rem,16vw,22rem);line-height:1;color:#ffffff14;text-align:center;-webkit-user-select:none;user-select:none;transition:color .4s ease;padding:2rem 0}.projects .project-feature:hover .project-feature-number{color:#ffffff14}.projects .project-feature-content{grid-area:content;padding:clamp(2.5rem,5vw,5rem) clamp(1.5rem,4vw,4rem);display:flex;flex-direction:column;gap:1rem}.projects .project-feature-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.projects .project-feature-subtitle{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-pink);font-weight:500}.projects .project-feature-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.75rem,3.5vw,3.5rem);letter-spacing:.02em;color:var(--text-primary);line-height:1.05}.projects .project-feature-meta{display:flex;flex-direction:column;gap:.2rem}.projects .project-feature-meta-item{font-size:.8125rem;color:var(--text-secondary)}.projects .project-feature-meta-label{color:var(--text-muted);font-weight:500}.projects .project-feature-description{font-size:.9375rem;color:var(--text-secondary);line-height:1.7;max-width:55ch;-webkit-user-select:text;user-select:text}.projects .project-feature-tags{display:flex;flex-wrap:wrap;gap:.375rem}.projects .tag{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .575rem;border-radius:4px;background:#ffffff0d;color:var(--text-secondary);border:1px solid rgba(255,255,255,.07);font-weight:500}.projects .project-feature-links{display:flex;gap:1.5rem;padding-top:.25rem}.projects .project-feature-link{font-size:.875rem;font-weight:600;color:var(--text-secondary);letter-spacing:.02em;transition:color .2s}.projects .project-feature-link:hover{color:var(--text-primary)}.project-feature--right{grid-template-areas:"content num";grid-template-columns:70fr 30fr}@media(max-width:768px){.projects .project-feature,.projects .project-feature--right{grid-template-areas:"num" "content";grid-template-columns:1fr;min-height:auto}.projects .project-feature-number{font-size:clamp(4rem,25vw,8rem);padding:2rem;text-align:center}.projects .project-feature-content{padding:0 1.5rem 3rem}.projects .project-feature-title{max-width:100%}}.skills{padding:clamp(5rem,12vh,10rem) 0;background-color:#07070a;background-size:cover;background-position:center;position:relative;overflow:hidden}.skills .skills-content{position:relative;z-index:1;padding:0 clamp(1.5rem,5vw,5rem)}.skills .skills-rows{border-top:1px solid var(--border)}.skills .skills-row{display:grid;grid-template-columns:clamp(130px,18vw,260px) 1fr;gap:0 2rem;border-bottom:1px solid var(--border);padding:clamp(1.25rem,2.5vw,2rem) 0;align-items:start}.skills .skills-row--right{grid-template-columns:1fr clamp(130px,18vw,260px)}.skills .skills-row--right .skills-row-category{order:2;text-align:right}.skills .skills-row--right .skills-row-list{order:1;text-align:right;align-items:flex-end}.skills .skills-row-category{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);padding-top:.55rem;line-height:1.4}.skills .skills-row-list{display:flex;flex-direction:column;gap:.05rem}.skills .skills-row-skill{font-family:Bebas Neue,sans-serif;font-size:clamp(1.5rem,2.8vw,2.75rem);letter-spacing:.03em;color:var(--text-primary);line-height:1.05;display:block;-webkit-user-select:text;user-select:text}.skills:before{content:"";position:absolute;inset:0;background:#07070ad1;pointer-events:none;z-index:0}@media(max-width:600px){.skills .skills-content{padding:0 1.5rem}.skills .skills-row{grid-template-columns:1fr;gap:.5rem 0}.skills .skills-row--right{grid-template-columns:1fr}.skills .skills-row--right .skills-row-category{order:1;text-align:left}.skills .skills-row--right .skills-row-list{order:2;text-align:left;align-items:flex-start}}.education{padding:clamp(5rem,12vh,10rem) 0;min-height:100svh}.education .education-content{padding:0 clamp(1.5rem,5vw,5rem)}.education .education-timeline{position:relative;padding-left:3rem;max-width:820px;display:flex;flex-direction:column;gap:3.5rem}.education .education-line{position:absolute;left:1rem;top:.5rem;bottom:.5rem;width:1px;background:var(--border);z-index:0}.education .education-item{position:relative}.education .education-item .education-item-dot{position:absolute;left:calc(-2rem - 5px);top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--bg);border:1.5px solid rgba(240,203,196,.45);z-index:3}.education .education-item .education-item-body{display:flex;flex-direction:column;gap:.375rem;-webkit-user-select:text;user-select:text}.education .education-item .education-item-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.125rem}.education .education-item .education-item-degree{font-size:1.125rem;font-weight:600;color:var(--text-primary);line-height:1.3}.education .education-item .education-item-year{font-family:Bebas Neue,sans-serif;font-size:1.25rem;color:var(--text-muted);letter-spacing:.06em;flex-shrink:0}.education .education-item .education-item-major{font-size:.9375rem;color:var(--accent-pink);font-weight:500}.education .education-item .education-item-institution{font-size:.9375rem;color:var(--text-secondary)}.education .education-item .education-item-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.85rem}.education .education-item .education-item-stat{display:inline-flex;align-items:baseline;gap:.45rem}.education .education-item .education-item-stat+.education-item-stat{padding-left:.9rem;border-left:1px solid rgba(240,203,196,.22)}.education .education-item .education-item-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.education .education-item .education-item-stat-value{font-size:.92rem;color:var(--text-primary);font-weight:600;line-height:1.35}.education .education-item .education-item-awards{display:flex;flex-direction:column;gap:.3rem;margin-top:.25rem}@media(max-width:600px){.education .education-content{padding:0 1.5rem}.education .education-item .education-item-meta{gap:.5rem}.education .education-item .education-item-stat+.education-item-stat{padding-left:.65rem}}.education .award{font-size:.875rem;color:var(--text-secondary);display:flex;align-items:center;gap:.625rem}.education .award:before{content:"—";color:var(--text-muted);flex-shrink:0}.awards{padding:clamp(5rem,12vh,10rem) 0;min-height:100svh}.awards .awards-content{position:relative;z-index:1;padding:0 clamp(1.5rem,5vw,5rem)}.awards .awards-list{border-top:1px solid var(--border)}.awards .award-row{display:grid;grid-template-columns:3.5rem minmax(0,1.9fr) auto;grid-template-areas:"index head year" "index desc desc";gap:.85rem 1.25rem;align-items:start;padding:1.1rem 0;border-bottom:1px solid var(--border)}.awards .award-row-index{grid-area:index}.awards .award-row-head{grid-area:head;min-width:0}.awards .award-row-index{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-family:monospace;padding-top:.18rem}.awards .award-row-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.05;letter-spacing:.03em;color:var(--text-primary)}.awards .award-row-suffix{display:inline-block;margin-left:.35rem;font-size:.6em;line-height:1;letter-spacing:.06em;color:var(--text-primary);vertical-align:baseline;opacity:.7;font-weight:700;text-transform:none}.awards .award-row-description{grid-area:desc;font-size:.9375rem;line-height:1.55;color:var(--text-secondary);max-width:none}.awards .award-row-year{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding-top:.28rem}@media(max-width:720px){.awards .awards-content{padding:0 1.5rem}.awards .award-row{grid-template-columns:1.8rem 1fr;grid-template-areas:"index head" "index year" "index desc";gap:.75rem 1rem}.awards .award-row-head{grid-column:2}.awards .award-row-year{grid-column:2;justify-self:start;padding-top:0}}.contact{min-height:100svh;background:var(--accent-pink);position:relative;display:flex;flex-direction:column;padding:clamp(1rem,3vw,3rem) clamp(3rem,7vw,6rem);z-index:1;overflow:hidden}.contact .contact-body{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.contact .contact-heading{font-family:Bebas Neue,sans-serif;font-size:clamp(5.5rem,15vw,18rem);line-height:.88;letter-spacing:.01em;color:#09090b;margin-bottom:2.5rem}.contact .contact-email{font-family:Bebas Neue,sans-serif;font-size:clamp(1.125rem,2.8vw,3.25rem);letter-spacing:.04em;color:#09090b8c;display:inline-block;transition:color .2s;-webkit-user-select:text;user-select:text}.contact .contact-email:hover{color:#09090b}.contact .contact-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.5rem 0;border-top:1px solid rgba(9,9,11,.12)}.contact .contact-socials{display:flex;gap:.875rem;align-items:center;font-family:Bebas Neue,sans-serif;font-size:clamp(.9rem,1.2vw,1.125rem);letter-spacing:.1em;color:#09090b80}.contact .contact-socials a{color:inherit;transition:color .2s}.contact .contact-socials a:hover{color:#09090b}.contact .contact-copy{font-family:Bebas Neue,sans-serif;font-size:.9rem;letter-spacing:.1em;color:#09090b59}.contact .scroll-to-top-btn{position:absolute;bottom:0;right:0;background:none;border:none;font-size:2rem;color:#09090b4d;cursor:pointer;padding:1rem;transition:color .2s;font-family:inherit}.contact .scroll-to-top-btn:hover{color:#09090b99}.contact .corner-mark{color:#09090b33}@media(max-width:768px){.contact .contact-body{align-items:center}.contact .contact-email{font-size:clamp(1.35rem,4vw,2rem)}.contact .contact-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center}.contact .contact-socials{justify-content:center;flex-wrap:wrap}}
