*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07132f;color:#f7f8fb;font-family:Inter,Arial,sans-serif;overflow-x:hidden}.grid{position:fixed;inset:0;pointer-events:none;opacity:.09;background-image:linear-gradient(90deg,transparent 49.8%,#fff 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#fff 50%,transparent 50.2%);background-size:80px 80px;z-index:0}.nav{position:fixed;top:0;left:0;right:0;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);background:rgba(7,19,47,.65);z-index:10}.brand{font-weight:900;font-size:25px;color:#fff;text-decoration:none}.brand span{color:#ffd500}.nav nav{display:flex;gap:28px}.nav nav a,.status{font-size:11px;letter-spacing:.12em;color:#fff;text-decoration:none}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ffd500;margin-right:7px}.section{position:relative;z-index:1;padding:9vw 7vw}.hero{min-height:100vh;position:relative;padding:18vh 7vw 8vw;z-index:1;overflow:hidden}.hero-meta,.mono,.section-label,.tag,.scroll,.eu-label{font-family:monospace;letter-spacing:.12em;font-size:11px}.hero-title{font-size:clamp(5rem,16vw,16rem);font-weight:900;line-height:.78;letter-spacing:-.075em;margin-top:7vh;position:relative}.hero-title span{display:block}.outline{-webkit-text-stroke:2px #fff;color:transparent}.hero-copy{position:absolute;left:7vw;bottom:calc(14vh - 1cm);max-width:430px;margin:0}.eyebrow{color:#ffd500;font-weight:800;letter-spacing:.12em}.hero-copy p:last-child{font-size:18px;line-height:1.5}.hero-mark{position:absolute;right:6vw;bottom:13vh;font-size:7rem;font-weight:900;color:#15336f}.scroll{position:absolute;left:7vw;bottom:8vh}.section-label{color:#ffd500;margin-bottom:5vh}.big-statement{font-size:clamp(3rem,8vw,9rem);font-weight:900;line-height:.9;letter-spacing:-.06em}.big-statement span{color:#246bff}.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12vw;margin-top:8vh;max-width:1100px}.lead{font-size:clamp(1.7rem,3vw,3rem);font-weight:700;line-height:1.1}.intro-grid p:last-child{line-height:1.7;color:#c9d2e8}.numbers{border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.number-grid div{padding:4vw 2vw;border-left:1px solid rgba(255,255,255,.15)}.number-grid strong{display:block;font-size:clamp(2rem,4vw,4rem);font-weight:900}.number-grid span{display:block;margin-top:12px;color:#aab7d2}.projects{background:#f7f8fb;color:#07132f}.projects .section-label{color:#124dd6}.project-list{display:flex;flex-direction:column}.project{display:grid;grid-template-columns:70px 1fr 150px;gap:3vw;padding:6vw 0;border-top:1px solid #cfd5df}.project h2{font-size:clamp(3rem,7vw,8rem);line-height:.83;letter-spacing:-.06em;margin:20px 0}.project p{max-width:580px;font-size:17px;line-height:1.6;color:#42506a}.project a{display:inline-block;margin-top:15px;color:#124dd6;text-decoration:none;font-weight:800;letter-spacing:.08em}.project-year{text-align:right;font-family:monospace;color:#7a8498}.tag{color:#124dd6}.europe{min-height:90vh;background:#246bff;display:flex;flex-direction:column;justify-content:center}.eu-title{font-size:clamp(5rem,14vw,15rem);font-weight:900;line-height:.78;letter-spacing:-.08em}.eu-title span{color:#ffd500}.eu-copy{margin-top:7vh;max-width:550px;font-size:22px;line-height:1.4}.personal{background:#ffd500;color:#07132f}.personal .section-label{color:#07132f}.personal-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10vw;align-items:end}.personal h2{font-size:clamp(4rem,9vw,10rem);line-height:.8;letter-spacing:-.07em;margin:0}.personal p{font-size:22px;line-height:1.5}.contact{min-height:90vh;display:flex;flex-direction:column;justify-content:center}.contact h2{font-size:clamp(4rem,11vw,12rem);line-height:.8;letter-spacing:-.08em;margin:3vh 0 8vh}.contact h2 span{color:#246bff}.contact-links{display:flex;gap:30px}.contact-links a{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.1em;border-bottom:2px solid #ffd500;padding-bottom:8px}footer{padding:25px 7vw;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;font-family:monospace;font-size:11px}.cursor{position:fixed;width:18px;height:18px;border:2px solid #ffd500;border-radius:50%;pointer-events:none;z-index:20;transform:translate(-50%,-50%);transition:transform .08s ease}.reveal{opacity:0;transform:translateY(50px);transition:1s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:800px){.nav nav{display:none}.status{font-size:9px}.hero-title{font-size:22vw}.hero-copy{position:relative;left:auto;bottom:auto;margin-top:8vh;max-width:440px}.about-layout,.personal-grid{grid-template-columns:1fr;gap:5vh}.number-grid{grid-template-columns:1fr 1fr}.project{grid-template-columns:35px 1fr}.project-year{display:none}.project h2{font-size:16vw}.eu-title{font-size:19vw}.contact h2{font-size:18vw}.cursor{display:none}}
/* v0.2 | signature project, curved journey and publication archive */
.featured-project{position:relative;min-height:72vh;padding:7vw;background:#07132f;color:#fff;overflow:hidden;display:grid;grid-template-columns:1.25fr 1fr;gap:5vw;align-items:end;margin:2vw 0 7vw}
.featured-kicker{position:absolute;top:3vw;left:3vw;font:11px monospace;letter-spacing:.12em;color:#ffd500}
.featured-title{font-size:clamp(5rem,12vw,13rem);font-weight:900;line-height:.78;letter-spacing:-.075em;position:relative;z-index:2}
.featured-title span{color:#246bff}
.featured-info{position:relative;z-index:2;max-width:520px}
.featured-info>p{font-size:19px;line-height:1.55;color:#d5def1}
.stats{display:flex;gap:28px;margin:35px 0}.stats div{border-left:1px solid rgba(255,255,255,.25);padding-left:14px}.stats b{display:block;font-size:32px}.stats small{font:9px monospace;letter-spacing:.1em;color:#9facbf}
.button{display:inline-block;padding:14px 18px;background:#ffd500;color:#07132f;text-decoration:none;font-weight:900;font-size:11px;letter-spacing:.08em}
.featured-orbit{position:absolute;right:-7vw;top:50%;transform:translateY(-50%);width:43vw;height:43vw;border:1px solid rgba(255,255,255,.18);border-radius:50%;animation:spin 24s linear infinite}
.featured-orbit:before,.featured-orbit:after{content:"";position:absolute;border:1px solid rgba(36,107,255,.45);border-radius:50%;inset:12%;}.featured-orbit:after{inset:25%;border-color:rgba(255,213,0,.5)}
.featured-orbit span{position:absolute;font:10px monospace;letter-spacing:.1em;color:#ffd500}.featured-orbit span:nth-child(1){top:8%;left:35%}.featured-orbit span:nth-child(2){right:3%;top:47%}.featured-orbit span:nth-child(3){bottom:12%;left:33%}.featured-orbit span:nth-child(4){left:4%;top:47%}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.story-timeline{background:#07132f;min-height:100vh;overflow:hidden}.timeline-intro{display:flex;justify-content:space-between;gap:8vw;align-items:end}.timeline-intro h2{font-size:clamp(4rem,9vw,10rem);line-height:.8;letter-spacing:-.07em;margin:0}.timeline-intro h2 span{color:#246bff}.timeline-intro p{max-width:360px;line-height:1.6;color:#aebbd2}
.curve-wrap{position:relative;height:580px;margin-top:4vh}.curve{position:absolute;inset:30px 0 0;width:100%;height:430px;overflow:visible;transform:none;transform-origin:center}.curve path{fill:none;stroke:#246bff;stroke-width:5;vector-effect:non-scaling-stroke;stroke-dasharray:12 10;filter:drop-shadow(0 0 12px rgba(36,107,255,.45))}
.milestone{position:absolute;width:180px;padding-top:28px;text-align:center;transform:translateX(-50%)}.milestone:before{content:"";display:block;position:absolute;left:50%;top:0;width:18px;height:18px;border-radius:50%;background:#ffd500;border:3px solid #07132f;box-shadow:0 0 0 2px #ffd500,0 0 10px rgba(255,213,0,.3);transform:translateX(-50%)}.milestone span{font:11px monospace;color:#ffd500}.milestone b{display:block;font-size:20px;margin-top:6px}.milestone small{display:block;color:#aebbd2;line-height:1.4;margin-top:6px}.m1{left:5.83%;top:332px}.m2{left:22.5%;top:182px}.m4{left:39.17%;top:362px}.m5{left:55.83%;top:142px}.m3{left:72.5%;top:312px}.m6{left:94.17%;top:92px}
.publications{background:#f7f8fb;color:#07132f}.publications .section-label{color:#124dd6}.publication-head{display:grid;grid-template-columns:1.3fr 1fr;gap:8vw;align-items:end}.publication-head h2{font-size:clamp(4rem,10vw,11rem);line-height:.8;letter-spacing:-.08em;margin:0}.publication-head h2 span{color:#246bff}.publication-head p{font-size:20px;line-height:1.5;color:#536078}.publication-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:8vw}.publication-grid article{padding:3vw;border-top:1px solid #cfd5df;border-left:1px solid #cfd5df}.publication-grid span{font:10px monospace;color:#124dd6;letter-spacing:.1em}.publication-grid h3{font-size:clamp(2rem,4vw,4rem);line-height:.9;letter-spacing:-.05em;margin:20px 0}.publication-grid p{color:#536078;line-height:1.5}.publication-grid a{display:inline-block;margin-top:15px;color:#07132f;font-weight:900;text-decoration:none}
@media(max-width:800px){.featured-project{grid-template-columns:1fr;min-height:85vh;padding:18vw 7vw}.featured-orbit{width:80vw;height:80vw;right:-35vw;top:55%}.featured-title{font-size:19vw}.stats{gap:15px}.stats b{font-size:24px}.curve-wrap{height:760px}.curve{height:600px;transform:none;transform-origin:center}.milestone{width:150px}.m1{left:8%;top:350px}.m2{left:25%;top:95px}.m4{left:42%;top:380px}.m5{left:59%;top:115px}.m3{left:76%;top:350px}.m6{left:93%;top:25px}.publication-head{grid-template-columns:1fr}.publication-grid{grid-template-columns:1fr}.publication-grid article{padding:8vw 0;border-left:0}}

/* v0.3 | career + volunteering + expanded archive */
.career{background:#0b1b3e;color:#fff}.career-head{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:end}.career-head h2{font-size:clamp(4rem,10vw,11rem);line-height:.78;letter-spacing:-.08em;margin:0}.career-head h2 span{color:#ffd500}.career-head p{color:#b8c5dd;font-size:19px;line-height:1.55}.career-list{margin-top:7vw;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:1fr 1fr}.career-list article{padding:3vw;border-bottom:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18);min-height:230px}.career-list span,.volunteer span{font:10px monospace;color:#ffd500;letter-spacing:.12em}.career-list h3{font-size:clamp(2rem,4vw,4rem);margin:20px 0 8px;letter-spacing:-.05em}.career-list b{font-size:14px}.career-list p{color:#aebbd2;line-height:1.5}.volunteer{background:#246bff;color:#fff}.volunteer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2px;background:rgba(255,255,255,.18)}.volunteer-grid article{background:#246bff;padding:4vw;min-height:300px}.volunteer-feature{grid-row:span 2}.volunteer-feature h2{font-size:clamp(3rem,7vw,8rem);line-height:.8;letter-spacing:-.07em;margin:30px 0}.volunteer-feature em{color:#ffd500;font-style:normal}.volunteer-grid h3{font-size:2rem;margin:20px 0 8px}.volunteer-grid b{font-size:14px}.volunteer-grid p{color:#d6e1f5;line-height:1.5}.volunteer-grid a{display:inline-block;margin-top:15px;color:#fff;text-decoration:none;font-weight:900;font-size:11px;letter-spacing:.1em;border-bottom:2px solid #ffd500;padding-bottom:7px}.award{background:#ffd500!important;color:#07132f}.award span{color:#07132f}.award p{color:#273452}.award a{color:#07132f}
@media(max-width:800px){.career-head{grid-template-columns:1fr}.career-list{grid-template-columns:1fr}.career-list article{border-right:0;padding:8vw 0}.volunteer-grid{grid-template-columns:1fr}.volunteer-feature{grid-row:auto}.volunteer-grid article{min-height:auto;padding:9vw 0}.m6{left:93%;top:10px}}

.cycle-breakdown{font-size:.78rem!important;color:#aebbd2!important;letter-spacing:.04em;margin-top:1.2rem}


/* Impact count-up animation */
.count-up { font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { .count-up { animation: none; } }

/* v0.9 motion system | purposeful scroll storytelling */
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:9999;pointer-events:none}.scroll-progress span{display:block;width:0;height:100%;background:#246bff;transform-origin:left center}
.hero-title .hero-word{display:block;overflow:hidden}.hero-title .hero-word-inner{display:block;transform:translateY(115%);animation:heroWordIn .9s cubic-bezier(.16,1,.3,1) forwards}.hero-title .hero-word:nth-child(2) .hero-word-inner{animation-delay:.12s}
@keyframes heroWordIn{to{transform:translateY(0)}}
.hero-copy{opacity:0;transform:translateY(22px);animation:heroCopyIn .8s .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes heroCopyIn{to{opacity:1;transform:none}}
.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.motion-reveal.is-visible{opacity:1;transform:none}
.curve path{stroke-dasharray:12 10;transition:filter .3s ease}.milestone:before{transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease}.milestone.is-active:before{transform:translateX(-50%) scale(1.25);box-shadow:0 0 0 3px #ffd500,0 0 24px rgba(255,213,0,.55)}
.project{transition:transform .4s cubic-bezier(.2,.7,.2,1),background-color .4s ease}.project:hover{transform:translateX(8px)}.project h2{transition:transform .4s cubic-bezier(.2,.7,.2,1),color .4s ease}.project:hover h2{transform:translateX(8px);color:#124dd6}
.magnetic{display:inline-block;transition:transform .18s ease-out}
.cursor-label{position:fixed;pointer-events:none;z-index:21;transform:translate(-50%,-50%);font:800 8px/1 Inter,Arial,sans-serif;letter-spacing:.12em;color:#07132f;background:#ffd500;padding:7px 8px;border-radius:20px;opacity:0;transition:opacity .15s ease,transform .15s ease}.cursor-label.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:800px){.scroll-progress{height:2px}.project:hover{transform:none}.project:hover h2{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-title .hero-word-inner,.hero-copy{animation:none;transform:none;opacity:1}.motion-reveal{opacity:1;transform:none;transition:none}.project,.project h2,.magnetic{transition:none}.cursor-label{display:none}}

/* v0.10 | image placement study */
.image-placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(36,107,255,.24),rgba(255,213,0,.14));border:1px solid rgba(255,255,255,.22);display:flex;align-items:flex-end;justify-content:space-between;padding:18px;min-height:240px;isolation:isolate}
.image-placeholder:before{content:"";position:absolute;inset:10px;border:1px dashed rgba(255,255,255,.28);pointer-events:none}
.image-placeholder:after{content:"IMAGE PLACEHOLDER";position:absolute;top:18px;right:18px;font:9px monospace;letter-spacing:.12em;color:rgba(255,255,255,.6)}
.image-placeholder .ph-label{font-size:clamp(1.8rem,3vw,3.5rem);font-weight:900;line-height:.85;letter-spacing:-.06em;position:relative;z-index:1}
.image-placeholder .ph-meta{font:10px monospace;letter-spacing:.1em;position:relative;z-index:1;color:#ffd500}
.hero-photo{position:absolute;right:calc(5vw + 0.5cm);top:calc(23vh + 0.5cm);width:min(calc(27vw - 1cm),400px);height:min(calc(38vw - 1cm),530px);z-index:0;transform:rotate(2deg)}
.hero-title,.hero-copy,.hero-mark,.scroll{z-index:2}.hero-photo{opacity:.9}.hero-photo:after{content:"PORTRAIT / HERO"}
.about-photo{margin:1cm;width:calc(100% - 2cm);height:calc(500px - 2cm);transform:rotate(-2deg)}
.about-layout{display:grid;grid-template-columns:1fr minmax(360px,42vw);gap:8vw;align-items:center;margin-top:8vh;max-width:1180px}.about-copy{display:flex;flex-direction:column;gap:5vh;transform:translateY(-2cm)}.intro-photo-wrap{display:flex;justify-content:flex-end;margin:0}
.talent-photo{height:330px;grid-column:1 / -1;margin-top:3vw;transform:rotate(-1deg)}
.volunteer-photo{height:calc(430px - 2cm);width:calc(100% - 13cm);margin:3.5vw 6.5cm 0;transform:translateY(-1cm) rotate(1deg)}
.publication-photo{height:180px;margin-bottom:2vw}
.europe-photo{position:absolute;right:7vw;bottom:calc(17vw + 5cm);width:min(42vw,620px);height:360px;transform:rotate(-1.5deg);opacity:.95}.europe{position:relative}.europe .eu-title,.europe .eu-label,.europe .eu-copy{position:relative;z-index:2}
.personal-photo{height:430px;transform:rotate(1.5deg)}
.personal-grid{align-items:center}.personal-copy{display:flex;flex-direction:column;gap:5vh}.personal-copy p{margin:0}
@media(max-width:800px){.about-copy{transform:none}.hero-photo{position:relative;right:auto;top:auto;width:72vw;height:90vw;margin:8vh 0 0 auto;transform:rotate(1deg)}.hero{padding-bottom:10vw}.about-photo{width:70vw;height:82vw}.talent-photo{height:240px}.volunteer-photo{height:260px}.publication-photo{height:170px}.europe-photo{position:relative;right:auto;bottom:auto;width:100%;height:240px;margin-top:8vh}.personal-photo{height:260px}}

/* v0.18 | real image placement */
.image-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.image-placeholder .ph-meta{z-index:2}
.hero-photo .ph-meta,.about-photo .ph-meta,.europe-photo .ph-meta,.personal-photo .ph-meta{background:rgba(7,19,47,.55);padding:6px 8px}
.hero-photo:after,.about-photo:after,.volunteer-photo:after,.europe-photo:after,.personal-photo:after{content:none}
.hero-photo img{object-position:center 28%}
.about-photo img{object-position:center 38%}
.volunteer-photo img{object-position:center 42%}
.europe-photo img{object-position:center 42%}
.personal-photo img{object-position:center 48%}
.award-photo{position:relative;height:220px;margin:0 0 2vw;overflow:hidden;border:1px solid rgba(7,19,47,.18)}
.award-photo img{width:100%;height:100%;object-fit:cover;display:block}
.award-photo span{position:absolute;left:14px;bottom:12px;font:10px monospace;letter-spacing:.1em;color:#07132f;background:#ffd500;padding:6px 8px}
@media(max-width:800px){.award-photo{height:220px}}

/* v0.20 | photo frames + hero copy spacing */
.hero-copy{bottom:calc(14vh - 2.2cm);left:7vw;z-index:3}
.image-placeholder{border:3px solid #ffd500}
.hero-photo,.about-photo,.volunteer-photo,.europe-photo{border-color:#ffd500}
.personal-photo{border-color:#246bff}
.award-photo{border:3px solid #ffd500}
@media(max-width:800px){.hero-copy{bottom:auto;left:auto}.image-placeholder{border-width:2px}}

/* v0.28 | publications without photos: editorial index */
.publication-index{grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #cfd5df}
.publication-index article{position:relative;min-height:330px;padding:3.2vw 3.2vw 3.5vw 6vw;border-top:0;border-left:0;border-right:1px solid #cfd5df;border-bottom:1px solid #cfd5df;overflow:hidden}
.publication-index article:nth-child(even){border-right:0}
.publication-index .publication-number{position:absolute;left:0;top:3vw;font:900 4rem/1 Inter,Arial,sans-serif;color:#124dd6;letter-spacing:-.07em}
.publication-index article > span{display:block;margin-bottom:2.2vw}
.publication-index h3{margin:12px 0 18px;font-size:clamp(2.2rem,4vw,4.4rem)}
.publication-index p{max-width:520px;margin:0}
.publication-index a{margin-top:22px;padding-bottom:7px;border-bottom:2px solid #124dd6}
.publication-index article:hover{background:#eef2f8}
@media(max-width:800px){.publication-index{grid-template-columns:1fr}.publication-index article,.publication-index article:nth-child(even){border-right:0;padding:8vw 0 10vw 14vw}.publication-index .publication-number{left:0;top:8vw;font-size:3rem}}
