:root{--ink:#20243a;--muted:#687087;--paper:#fbfcff;--line:#e4e8f0;--cyan:#00bccd;--purple:#7972f3;--navy:#2f3447;--gradient:linear-gradient(135deg, var(--cyan), var(--purple))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}svg{display:block}.shell{width:min(1120px,100% - 48px);margin-inline:auto}.section{padding:112px 0}.section h2{letter-spacing:-.055em;margin:4px 0 0;font-size:clamp(2.4rem,6vw,4.8rem);line-height:.96}.section-label,.eyebrow{color:var(--purple);letter-spacing:.2em;margin:0;font-size:1.5rem;font-weight:800}.section-label--light{color:#ffffffb3}.button{letter-spacing:.04em;border:2px solid;justify-content:center;align-items:center;min-height:48px;padding:0 24px;font-size:.92rem;font-weight:800;transition:transform .2s,background-color .2s,color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--outline{color:var(--ink)}.button--outline:hover{background:var(--ink);color:#fff}.button--light{color:#fff}.button--light:hover{color:var(--purple);background:#fff}.hero{background:linear-gradient(90deg,#fffffff7 0%,#ffffffe0 44%,#ffffff14 100%),url(/images/hero/background.jpg) 50%/cover;align-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero:before{background:var(--gradient);content:"";width:7px;position:absolute;inset:0 auto 0 0}.hero__content{z-index:1;position:relative}.hero h1{background:var(--gradient);color:#0000;letter-spacing:-.075em;-webkit-background-clip:text;background-clip:text;max-width:850px;min-height:150px;margin:10px 0 0;font-size:clamp(4rem,11vw,8.5rem);font-weight:850;line-height:.88}.hero__role{letter-spacing:-.03em;margin:5px 0 38px;font-size:clamp(1.25rem,3vw,2.25rem);font-weight:700}.hero__scroll{width:38px;height:38px;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero__scroll svg,.footer__top svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:100%;height:100%}.about{background:var(--gradient);color:#fff;position:relative;overflow:hidden}.about__grid{z-index:1;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(48px,8vw,100px);margin-top:56px;display:grid;position:relative}.about__grid-rev{z-index:1;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(48px,8vw,100px);margin-top:56px;display:grid;position:relative}.portrait-wrap{max-width:410px;padding:16px 0 0 16px;position:relative}.portrait-wrap:before{content:"";border:1px solid #ffffffb3;position:absolute;inset:0 16px 16px 0}.portrait{aspect-ratio:1;object-fit:cover;filter:saturate(.75)contrast(1.04);width:100%;height:auto;position:relative}.about__copy{max-width:640px}.about__copy p{margin:0 0 20px;font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.75}.about__copy .about__closing{font-weight:800}.text-link{letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid;gap:10px;margin-top:12px;padding-bottom:5px;font-size:.88rem;font-weight:800;display:inline-flex}.experience{background:var(--paper)}.section-intro{max-width:660px;color:var(--muted);margin:28px 0 72px;font-size:1.08rem;line-height:1.75}.timeline{position:relative}.timeline:before{background:var(--line);content:"";width:1px;position:absolute;top:0;bottom:0;left:25px}.role{grid-template-columns:60px 230px 1fr;gap:28px;padding-bottom:76px;display:grid;position:relative}.role:last-child{padding-bottom:0}.role__marker{z-index:1;border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:50px;height:50px;display:grid;position:relative}.role__marker:after{border-radius:inherit;background:var(--gradient);content:"";position:absolute;inset:7px}.role__marker span{z-index:1;color:#fff;letter-spacing:.08em;font-size:.72rem;font-weight:800;position:relative}.role__identity{padding-top:2px}.role__identity>p{color:var(--muted);margin:16px 0 0;font-size:.78rem;font-weight:650;line-height:1.5}.role__logo{justify-content:flex-start;align-items:center;width:180px;height:72px;display:flex}.role__logo img{object-fit:contain;object-position:left center;width:100%;height:100%}.role__logo>span{background:var(--navy);color:#fff;letter-spacing:.12em;place-items:center;width:64px;height:64px;font-size:.9rem;font-weight:850;display:grid}.role__details{padding-top:2px}.role__details h3{letter-spacing:-.045em;margin:0 0 14px;font-size:clamp(1.65rem,3vw,2.4rem)}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips span{color:#596079;background:#fff;border:1px solid #dfe3ec;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700}.role__details ul{gap:9px;margin:22px 0 0;padding:0;list-style:none;display:grid}.role__details li{color:var(--muted);padding-left:18px;font-size:.94rem;line-height:1.62;position:relative}.role__details li:before{background:var(--cyan);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.contact{background:var(--gradient);color:#fff;text-align:center}.contact__inner{max-width:830px}.contact h2{margin-top:14px}.contact p:not(.section-label){color:#ffffffd1;margin:24px 0 38px;font-size:1.1rem}footer{background:var(--navy);color:#fff}.footer__inner{justify-content:space-between;align-items:center;min-height:190px;display:flex}.footer__inner p{color:#ffffff80;font-size:.78rem}.footer__top{width:34px;height:34px;transform:rotate(180deg)}.footer__github svg{fill:currentColor;width:28px;height:28px}@media (max-width:840px){.about__grid{grid-template-columns:1fr}.portrait-wrap{max-width:340px}.role{grid-template-columns:70px 1fr}.role__identity,.role__details{grid-column:2}}@media (max-width:580px){.shell{width:min(100% - 30px,1120px)}.section{padding:82px 0}.hero{background-position:65%}.hero:after{content:"";background:#ffffff61;position:absolute;inset:0}.hero__content{z-index:1}.hero h1{font-size:clamp(3.7rem,20vw,6rem)}.hero__role{max-width:280px}.timeline:before{left:20px}.role{grid-template-columns:42px 1fr;gap:16px;padding-bottom:58px}.role__marker{width:42px;height:42px}.role__marker:after{inset:4px}.role__identity,.role__details{grid-column:2}.role__logo{width:150px;height:58px}.footer__inner{flex-direction:column;justify-content:center;gap:22px;padding:38px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
