:root{--black:#101010;--white:#fff;--blue:#4169e1;--muted:#aaa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:white;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}header{height:96px;margin:0 6%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #363636;gap:20px}.navigation{display:flex;align-items:center;gap:30px;min-width:0}#menu{background:none;border:0;width:32px;height:35px;padding:5px 0;cursor:pointer;display:flex;flex-direction:column;justify-content:space-around;flex-shrink:0}#menu span{height:2px;background:white;width:28px;transition:transform .3s,opacity .3s}#menu[aria-expanded=true] span:first-child{transform:translateY(8px) rotate(45deg)}#menu[aria-expanded=true] span:nth-child(2){opacity:0}#menu[aria-expanded=true] span:last-child{transform:translateY(-8px) rotate(-45deg)}nav{display:flex;gap:28px;opacity:0;visibility:hidden;transform:translateX(-12px);transition:.3s;white-space:nowrap}nav.open{opacity:1;visibility:visible;transform:translateX(0)}nav a{font-size:14px;padding:12px 0}nav a:hover{color:#8aa7ff}.monogram{font-size:26px;font-weight:800;letter-spacing:-1px}.monogram span,h1>span,.work h2>span,.video h2>span{color:var(--blue)}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding:64px 6% 48px;max-width:1600px;margin:auto}.eyebrow,.section-label,.small-label{font-size:12px;letter-spacing:2px;font-weight:600}.eyebrow{color:#b6b6b6;margin:0 0 26px}.welcome{border:1px solid var(--blue);color:white;background:#4169e114;display:inline-flex;align-items:center;gap:18px;padding:12px 19px;font-size:22px;min-width:213px;height:54px}.cursor{height:23px;width:2px;background:var(--blue);animation:blink 1s steps(2) infinite}#welcome-word{transition:opacity .2s,transform .2s}.changing{opacity:0;transform:translateY(-8px)}h1{font-size:clamp(52px,6.5vw,98px);font-weight:600;line-height:.99;letter-spacing:-5px;margin:28px 0 22px}.intro{color:#bbb;font-size:17px;line-height:1.65}.cv-button{display:inline-flex;align-items:center;gap:40px;background:var(--blue);padding:18px 24px;margin-top:17px;font-size:15px;font-weight:600;transition:background .2s}.cv-button:hover{background:#3156ce}.cv-button span{font-size:24px}.hero-note{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.6px;margin-top:56px;color:#aaa}.hero-note a{color:white}figure{margin:0;position:relative;align-self:stretch;min-height:520px}figure img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 39%;filter:saturate(.75)}figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 20px 18px;display:flex;justify-content:space-between;gap:10px;background:linear-gradient(transparent,#000b);font-size:9px;letter-spacing:1.2px;color:white}.social-bar{overflow:hidden;background:var(--blue);padding:27px 0}.social-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.social-group{display:flex;align-items:center;gap:66px;padding-right:66px}.social-group a,.social-group button{border:0;background:none;color:white;font-size:22px;font-weight:500;cursor:pointer;padding:0;white-space:nowrap}.social-group span{font-size:24px;margin-left:16px}.social-bar:hover .social-track,.social-bar:focus-within .social-track{animation-play-state:paused}.light{background:white;color:var(--black)}.objective{padding:90px 9%;display:grid;grid-template-columns:1fr 2fr;gap:30px}.section-label{color:#999;margin-top:0}h2{font-size:clamp(36px,4.3vw,64px);line-height:1.07;letter-spacing:-2.6px;font-weight:500;margin:0 0 25px}.objective h2 span{color:var(--blue)}.objective p{max-width:650px;font-size:19px;line-height:1.75;color:#5d5d5d;margin:0}.work{padding:85px 6% 65px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:25px}.small-label{color:#aaa;font-size:11px}.academic-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;margin-top:25px;border-top:1px solid #383838;padding-top:38px}h3{font-weight:500;font-size:25px;line-height:1.35;margin:20px 0 12px}.education p,.pending p{color:#aaa;font-size:16px;line-height:1.6}.muted{color:#aaa;font-size:14px}.tags{display:flex;gap:10px;margin-top:26px}.tags span,.outline-tag{border:1px solid #434343;padding:8px 12px;font-size:12px;color:#bbb}.achievement{padding-top:12px}.pending{border-left:1px solid #383838;padding-left:50px}.pending h3{font-size:35px}.outline-tag{display:inline-block;margin-top:18px;font-size:10px;letter-spacing:1px}.video{padding:55px 6% 85px;display:grid;grid-template-columns:1fr 1.2fr;gap:55px}.video>div>p:last-child{color:#aaa;line-height:1.8;font-size:17px}.video-placeholder{border:1px solid #393939;display:flex;align-items:center;gap:25px;padding:30px}.play-mark{color:var(--blue);font-size:70px;font-weight:300}.video-placeholder h3{font-size:21px;margin:0 0 12px}.video-placeholder p{color:#aaa;font-size:14px;line-height:1.6}.contact{padding:75px 6% 0}.contact-row{display:flex;justify-content:space-between;align-items:center}.contact h2{font-size:clamp(42px,6vw,85px)}.contact h2 span{color:var(--blue)}.contact-arrow{display:grid;place-items:center;background:var(--blue);color:white;width:85px;height:85px;border-radius:50%;font-size:48px}.email{display:inline-block;border-bottom:1px solid #999;padding-bottom:8px;font-size:20px;margin:8px 0 65px;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid #ddd;font-size:12px;color:#666}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:white;color:#101010;padding:18px 24px;box-shadow:0 5px 30px #0005;z-index:10;max-width:90vw;display:none;font-size:15px}#toast.visible{display:block}@keyframes marquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}@keyframes blink{50%{opacity:0}}@media(min-width:1600px){.hero{padding-left:96px;padding-right:96px}}@media(max-width:800px){header{height:80px;margin:0 5%}.navigation{gap:18px}nav{gap:18px;max-width:calc(100vw - 155px);overflow:auto}nav a{font-size:12px}.hero{padding:38px 5%;gap:30px;grid-template-columns:1fr 1fr}h1{font-size:57px;letter-spacing:-3px}.eyebrow{font-size:10px;line-height:1.6}.intro{font-size:15px}.hero-note{flex-direction:column;margin-top:30px;font-size:9px}figure{min-height:480px}figcaption span:last-child{display:none}.objective{padding:60px 6%;grid-template-columns:1fr}.objective p{font-size:17px}.section-heading>.small-label{display:none}.work{padding-top:60px}.academic-grid{gap:25px}.pending{padding-left:25px}.video{gap:25px;grid-template-columns:1fr}.contact{padding-top:55px}}@media(max-width:520px){.hero{grid-template-columns:1fr;padding-top:34px}.hero-copy{padding-bottom:10px}h1{font-size:68px}.hero-note{flex-direction:row;line-height:1.6}.welcome{font-size:20px;height:49px}.hero figure{min-height:450px}figure img{object-position:center 35%}.social-bar{padding:23px 0}.social-group{gap:38px;padding-right:38px}.social-group a,.social-group button{font-size:19px}.academic-grid{grid-template-columns:1fr}.pending{padding:26px 0 0;border-left:0;border-top:1px solid #383838}.video-placeholder{padding:24px 18px;gap:18px}.contact-arrow{width:60px;height:60px;font-size:35px;flex-shrink:0}.contact h2{font-size:42px;letter-spacing:-2px}.email{font-size:16px}h2{letter-spacing:-1.6px}footer{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.social-track{width:100%;display:block}.social-group{justify-content:center;gap:20px;flex-wrap:wrap;padding:0 15px}.social-group[aria-hidden=true]{display:none}.social-group a,.social-group button{font-size:16px}}

/* Typewriter and section entrances */
.welcome{width:235px;min-width:235px;gap:5px;justify-content:flex-start}
#welcome-word{transition:none;white-space:nowrap}
.social-group a,.social-group button{display:inline-flex;align-items:center;gap:12px}
.social-icon{width:25px;height:25px;flex-shrink:0}
.social-group span{margin-left:6px}
.title-reveal{opacity:0;transform:translateY(35px) rotateX(12deg);filter:blur(6px);transform-origin:left bottom;transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1),filter .85s ease}
.title-reveal.title-visible{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}
@media(prefers-reduced-motion:reduce){.welcome{width:auto;min-width:0;max-width:100%;font-size:18px}.title-reveal{opacity:1;transform:none;filter:none}}

.creative{padding:55px 6% 90px}.creative h2>span,.poster-work h3>span{color:var(--blue)}.creative-intro{font-size:17px;line-height:1.7;color:#aaa}.creative-subhead{border-top:1px solid #383838;padding-top:35px;margin-top:45px;display:flex;align-items:center;justify-content:space-between;gap:40px}.creative-subhead h3{font-size:32px;margin:12px 0 24px}.creative-subhead>p{color:#aaa;max-width:430px;font-size:16px;line-height:1.7}.video-grid,.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.video-grid video{display:block;width:100%;height:440px;background:#080808;object-fit:contain}.sample-caption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 0}.sample-caption h4{font-size:16px;font-weight:500;margin:0}.sample-caption span{font-size:10px;letter-spacing:1.3px;color:#aaa}.photo-grid img{display:block;width:100%;height:510px;object-fit:contain;background:#171717}.photo-grid img.mockup{padding:24px;background:#eee}.comparison-note{color:#999;font-size:14px;line-height:1.6}.poster-work{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-top:50px;margin-top:45px;border-top:1px solid #383838}.poster-work h3{font-size:50px;letter-spacing:-2px}.poster-work p{font-size:18px;line-height:1.8;color:#aaa;max-width:400px}.poster-work img{width:100%;max-height:650px;object-fit:contain;display:block;background:#090909}.creative article>a{display:block}.creative article>a:focus-visible{outline-offset:3px}@media(max-width:650px){.creative{padding-top:35px}.creative .section-heading{align-items:flex-start;flex-direction:column;gap:0}.creative-subhead{align-items:flex-start;flex-direction:column;gap:0}.creative-subhead h3{margin-bottom:0}.video-grid,.photo-grid,.poster-work{grid-template-columns:1fr;gap:25px}.video-grid video{height:420px}.photo-grid img{height:440px}.poster-work{gap:35px}.poster-work h3{font-size:40px}.sample-caption span{font-size:9px}.creative-subhead>p{margin-bottom:24px}}

/* Compact glass gallery and contemporary typography */
body{font-family:"Inter","Aptos","Segoe UI",system-ui,sans-serif;letter-spacing:-.015em;background:#0b0c10}
header{height:84px;border-color:#ffffff15}.monogram{font-weight:650;letter-spacing:-1.4px}
.hero{padding-top:55px;padding-bottom:55px;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center}
.hero-copy{padding:10px 0}.eyebrow{font-size:11px;letter-spacing:2px;color:#a4acc0;margin-bottom:26px}
h1{font-size:clamp(52px,6.5vw,90px);font-weight:650;letter-spacing:-.06em;line-height:1.08;margin:25px 0}
h1 .name-line{color:#fff;font-weight:350;letter-spacing:-.055em}h1 .name-line>span{color:var(--blue)}
.hero figure{height:460px;min-height:0;border-radius:34px;overflow:hidden;padding:10px;background:linear-gradient(135deg,#ffffff32,#ffffff05);border:1px solid #ffffff35;box-shadow:0 25px 70px #0006,12px 12px 0 #4169e11a}
.hero figure img{position:static;border-radius:25px;filter:saturate(.8);object-position:center 35%}
.welcome{border-radius:14px;background:linear-gradient(120deg,#4169e124,#ffffff08);border-color:#ffffff25;font-size:20px;box-shadow:inset 0 1px 0 #ffffff15}
.cv-button{border-radius:14px;font-weight:550}.hero-note{margin-top:38px;font-size:10px}
h2{font-weight:550;font-size:clamp(34px,4vw,54px);letter-spacing:-.045em}h3{letter-spacing:-.035em}
.social-bar{padding:20px 0}.social-group a{font-size:18px}.social-icon{width:22px;height:22px}
.creative{background:radial-gradient(ellipse at 92% 35%,#4169e114,transparent 48%);padding-top:45px}.creative-subhead{margin-top:30px;padding-top:26px}.creative-subhead h3{font-size:27px;font-weight:550}.creative-subhead>p{font-size:15px}.creative-intro{font-size:16px}
.video-grid,.photo-grid{gap:22px;max-width:830px;grid-template-columns:repeat(2,minmax(0,1fr))}
.video-grid article,.photo-grid article,.poster-work article{padding:12px 12px 0;border-radius:25px;border:1px solid #ffffff24;background:linear-gradient(135deg,#ffffff12,#ffffff04);box-shadow:inset 0 1px 0 #ffffff18,0 15px 35px #0003;backdrop-filter:blur(18px);overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.video-grid article:hover,.photo-grid article:hover,.poster-work article:hover{transform:translateY(-4px);border-color:#7391ef70;box-shadow:inset 0 1px 0 #ffffff20,0 20px 45px #0005}
.video-grid video{height:230px;border-radius:16px;background:#08090d}.photo-grid img,.photo-grid img.mockup{height:260px;border-radius:16px;object-fit:contain}.photo-grid img.mockup{padding:15px;background:#dadde4}.creative article>a{border-radius:16px;overflow:hidden}.sample-caption{padding:15px 4px;gap:8px}.sample-caption h4{font-size:14px;font-weight:500}.expand-media{border:1px solid #ffffff24;border-radius:30px;padding:7px 11px;background:#ffffff08;color:#dce5ff;cursor:pointer;font-size:12px;white-space:nowrap}.expand-media:hover{background:#4169e140;border-color:#7391ef}.poster-work{grid-template-columns:1fr 360px;max-width:920px;gap:55px;margin-top:32px;padding-top:32px}.poster-work img{height:320px;border-radius:16px}.poster-work h3{font-size:38px;letter-spacing:-.045em}.poster-work p{font-size:16px}.comparison-note{max-width:700px;font-size:13px;color:#949bab}
#media-dialog{width:min(1050px,94vw);max-height:92dvh;padding:18px;border-radius:26px;border:1px solid #ffffff35;background:linear-gradient(135deg,#232836f5,#101218f8);color:white;box-shadow:0 30px 120px #000a;backdrop-filter:blur(25px)}#media-dialog::backdrop{background:#03050acf;backdrop-filter:blur(12px)}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 4px 16px}.dialog-toolbar h3{margin:0;font-size:17px;letter-spacing:0}#close-media{background:#ffffff0d;color:white;border:1px solid #ffffff25;border-radius:30px;padding:10px 16px;cursor:pointer}#media-stage img,#media-stage video{display:block;width:100%;height:min(72dvh,760px);object-fit:contain;background:#08090c;border-radius:15px}.media-open{overflow:hidden}
@media(max-width:800px){.hero{gap:5%;padding-top:35px}.hero figure{height:400px}.hero h1{font-size:54px}.poster-work{grid-template-columns:1fr 300px;gap:30px}}
@media(max-width:560px){.hero{grid-template-columns:1fr;gap:25px}.hero h1{font-size:clamp(48px,12vw,68px)}.hero figure{height:370px;min-height:0;max-width:340px;width:100%;justify-self:center}.hero-note{font-size:9px}.video-grid,.photo-grid{grid-template-columns:1fr;max-width:400px}.video-grid video{height:220px}.photo-grid img,.photo-grid img.mockup{height:260px}.poster-work{grid-template-columns:1fr;max-width:400px}.poster-work img{height:300px}#media-dialog{padding:12px;border-radius:20px}.dialog-toolbar h3{font-size:14px}.creative-subhead{gap:6px}}
@media(prefers-reduced-motion:reduce){.video-grid article:hover,.photo-grid article:hover,.poster-work article:hover{transform:none}}

.academic-subtitle{font-size:27px;font-weight:550;margin:22px 0}.education-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.education-cards article,.project-cards>a{padding:25px;border:1px solid #ffffff22;border-radius:22px;background:linear-gradient(135deg,#ffffff10,#ffffff03);box-shadow:inset 0 1px 0 #ffffff12;backdrop-filter:blur(18px)}.education-cards h3{font-size:20px;line-height:1.4;min-height:84px;margin:18px 0 12px}.education-cards p{font-size:14px;color:#aaa;line-height:1.6;min-height:45px}.education-date{display:block;font-size:13px;color:#a5adbf}.result-badge{display:block;margin-top:23px;font-size:23px;color:#8faaff;font-weight:550}.result-badge small{font-size:14px;color:#a5adbf;font-weight:400}.skills-row{margin:28px 0 40px}.skills-row h3{font-size:17px;letter-spacing:0}.skills-row .tags{flex-wrap:wrap;margin-top:15px}.skills-row .tags span{border-radius:25px;padding:10px 15px;font-size:13px;background:#4169e112;border-color:#4169e145}.academic-subhead{margin-top:42px;border-top:1px solid #ffffff18;padding-top:25px}.academic-subhead h3{margin-top:12px}.project-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-cards>a{transition:border-color .25s,transform .25s}.project-cards>a:hover{border-color:#7391ef;transform:translateY(-3px)}.project-cards h3{font-size:24px;margin:20px 0 30px;line-height:1.4}.project-link{color:#9db5ff;font-size:14px;display:flex;justify-content:space-between;gap:15px}.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px}.certificate-grid article{padding:12px;border-radius:24px;border:1px solid #ffffff24;background:linear-gradient(135deg,#ffffff12,#ffffff04);box-shadow:inset 0 1px 0 #ffffff18,0 15px 35px #0003;backdrop-filter:blur(18px)}.certificate-preview{border:0;padding:0;background:transparent;width:100%;display:block;border-radius:14px;overflow:hidden;cursor:zoom-in}.certificate-preview img{width:100%;height:220px;object-fit:contain;background:#f4f5f6;display:block}.certificate-caption{padding:8px 5px;position:relative}.certificate-caption h4{font-size:15px;font-weight:500;margin:12px 0 7px}.certificate-caption p{font-size:13px;color:#a5adbf;margin:0 0 14px}@media(max-width:800px){.education-cards{grid-template-columns:1fr}.education-cards h3,.education-cards p{min-height:0}.education-cards article{padding:22px}.result-badge{margin-top:16px}}@media(max-width:560px){.project-cards,.certificate-grid{grid-template-columns:1fr}.certificate-preview img{height:200px}.project-cards h3{font-size:22px}}

.small-web-project{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;max-width:740px;margin-top:20px;padding:14px;border:1px solid #ffffff24;border-radius:22px;background:linear-gradient(135deg,#ffffff12,#ffffff04);box-shadow:inset 0 1px 0 #ffffff18,0 15px 35px #0003;backdrop-filter:blur(18px);transition:border-color .25s,transform .25s}.small-web-project:hover{border-color:#7391ef;transform:translateY(-3px)}.small-web-project img{width:100%;aspect-ratio:1.95;object-fit:contain;display:block;border-radius:13px;background:#09180e}.small-web-project>div{padding:8px 10px 8px 0}.small-web-project h3{font-size:22px;margin:10px 0}.small-web-project p{font-size:14px;color:#a5adbf;line-height:1.6;margin:0 0 15px}@media(max-width:560px){.small-web-project{grid-template-columns:1fr;gap:8px;max-width:400px}.small-web-project>div{padding:10px}}@media(prefers-reduced-motion:reduce){.small-web-project:hover{transform:none}}

.view-cv{display:inline-block;margin-left:20px;font-size:14px;color:#c5d3ff;border-bottom:1px solid #738bd766;padding-bottom:3px}#cv-status{font-size:12px;color:#a5adbf;max-width:370px;line-height:1.5}#cv-status:empty{display:none}.toolkit{margin:28px 0 38px}.toolkit h3{font-size:25px;font-weight:550}.toolkit>p{max-width:760px;font-size:16px;line-height:1.8;color:#b2b9c8}.tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:880px;margin-top:23px}.tool-card{border-radius:20px;border:1px solid #ffffff24;background:linear-gradient(135deg,#ffffff10,#ffffff03);padding:23px 12px;display:flex;align-items:center;flex-direction:column;gap:14px;font-size:14px;backdrop-filter:blur(16px)}.tool-logo{display:grid;place-items:center;width:46px;height:46px;color:#a9bdff;animation:tool-float 4s ease-in-out infinite;animation-delay:var(--tool-delay);filter:drop-shadow(0 4px 12px #4169e155)}.tool-logo svg{width:34px;height:34px}.tool-card:hover .tool-logo{color:white}.tool-card:hover{border-color:#7391ef}@keyframes tool-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}@media(max-width:560px){.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tool-card{padding:18px 8px}.view-cv{margin-left:14px}}@media(prefers-reduced-motion:reduce){.tool-logo{animation:none}}

.visit-total{text-align:center;padding:0 0 20px;color:#858b97;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:2px}

/* Soft overhead illumination inspired by the supplied reference. */
body{isolation:isolate;background:#080b12}.ambient-light{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,#10263c65,transparent 68%),#080b12}.ambient-light i{position:absolute;top:-18vh;left:22%;width:56%;height:105vh;transform-origin:50% 0;background:conic-gradient(from 157deg at 50% 0%,transparent 0deg,#aec9e214 11deg,#d7eaff22 21deg,#789cb919 32deg,transparent 46deg);filter:blur(19px);animation:light-drift 14s ease-in-out infinite alternate}.ambient-light i:nth-child(2){left:8%;width:80%;opacity:.55;animation-delay:-6s;animation-duration:19s}.ambient-light i:nth-child(3){left:35%;width:35%;opacity:.6;animation-delay:-10s;animation-duration:16s}header,.hero,.work{background:transparent}.creative{background:radial-gradient(ellipse at 85% 25%,#4169e112,transparent 65%)}@keyframes light-drift{from{transform:rotate(-9deg);opacity:.45}to{transform:rotate(9deg);opacity:.8}}
.section-enter{opacity:0;transform:translateY(38px);transition:opacity .85s ease,transform .85s cubic-bezier(.16,1,.3,1)}.section-enter.is-in-view{opacity:1;transform:translateY(0)}
.tool-slider{overflow:hidden;max-width:100%;margin-top:24px;padding:12px 0;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}.tool-track{display:flex;width:max-content;animation:tool-roll 26s linear infinite}.tool-group{display:flex;gap:16px;padding-right:16px}.tool-card{width:155px;flex:none;background:linear-gradient(135deg,#ffffff15,#ffffff05)}.tool-slider:hover .tool-track,.tool-slider:focus-within .tool-track{animation-play-state:paused}.tool-logo{border-radius:15px;width:50px;height:50px;animation:none;box-shadow:inset 0 1px 0 #ffffff45,0 8px 20px #0004}.tool-logo svg{width:30px;height:30px}.tool-capcut .tool-logo{background:#fff;color:#111;filter:none}.tool-canva .tool-logo{background:linear-gradient(130deg,#00c4cc,#7d2ae8);color:white}.tool-chatgpt .tool-logo{background:#10a37f;color:white}.tool-claude .tool-logo{background:#d97757;color:#fff}.tool-gemini .tool-logo{background:linear-gradient(135deg,#4285f4,#9b72cb,#d96570);color:white}.tool-capcut:hover .tool-logo{color:#111}@keyframes tool-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:560px){.tool-card{width:135px;padding:20px 10px}.tool-group{gap:12px;padding-right:12px}.ambient-light i{width:100%;left:0}}
@media(prefers-reduced-motion:reduce){.ambient-light i,.tool-track{animation:none}.section-enter{opacity:1;transform:none;transition:none}.tool-slider{overflow:auto;mask-image:none}.tool-group[aria-hidden=true]{display:none}}

.portrait-layers{position:relative;width:100%;height:100%;overflow:hidden;border-radius:25px;--reveal-x:50%;--reveal-y:45%;--reveal-size:0px}.hero figure .portrait-layers img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:0}.hero figure .portrait-alternate{filter:none;clip-path:circle(var(--reveal-size) at var(--reveal-x) var(--reveal-y));transition:clip-path .12s ease-out;pointer-events:none}.portrait-interactive{cursor:crosshair}.portrait-interactive.is-revealing .portrait-layers{--reveal-size:90px}.skills-row .tags span{position:relative;overflow:hidden;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;color:#bcc7df}.skills-row .tags span:hover,.skills-row .tags span:focus-visible{transform:translateY(-5px);background:#4169e133;border-color:#87a4ff;color:#fff;box-shadow:0 8px 24px #4169e12e;outline:none}.skills-row .tags span::after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,#ffffff20 50%,transparent 65%);transform:translateX(-100%);transition:transform .5s ease;pointer-events:none}.skills-row .tags span:hover::after,.skills-row .tags span:focus-visible::after{transform:translateX(100%)}@media(prefers-reduced-motion:reduce){.hero figure .portrait-alternate,.skills-row .tags span,.skills-row .tags span::after{transition:none}.skills-row .tags span:hover,.skills-row .tags span:focus-visible{transform:none}}
