:root{--navy:#101b2a;--navy2:#152334;--cyan:#00aec5;--ink:#172b38;--muted:#5c6b77;--line:#dce7eb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);font-size:17px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}.skip{position:fixed;top:-90px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.container{max-width:1160px;width:calc(100% - 100px);margin:auto}.nav{position:fixed;z-index:30;top:0;width:100%;height:82px;padding:0 max(4vw,25px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(16,27,42,.93);color:white;border-bottom:1px solid #ffffff12;backdrop-filter:blur(16px)}.monogram{font-size:25px;font-weight:700;letter-spacing:-1px}.monogram span{color:var(--cyan)}nav{display:flex;gap:27px;font-size:14px}nav a{color:#d0dbe3}nav a:hover,nav a.active{color:#65dfeb}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--cyan);color:#071c26;padding:13px 24px;font-size:16px;font-weight:600;border-radius:5px;transition:background .2s,transform .2s}.button:hover{background:#64dce7;transform:translateY(-2px)}.button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.button.small{font-size:14px;padding:10px 17px}.hero{height:100svh;min-height:710px;position:relative;background:#101b2a;color:white;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,21,34,.87),rgba(9,21,34,.37) 65%,rgba(9,21,34,.26)),linear-gradient(0deg,#101b2a 0%,transparent 48%)}.hero-copy{position:relative;padding-top:max(190px,23vh);margin-left:max(4vw,50px);max-width:710px}.eyebrow{font-size:13px;letter-spacing:2.5px;font-weight:600;color:var(--cyan);margin:0 0 24px}.hero .eyebrow{color:#88e2e8}.hero h1{font-size:clamp(64px,7.2vw,106px);font-weight:500;letter-spacing:-4px;line-height:1.07;margin:0 0 24px}.hero h1 span{color:#61dce4}.hero-role{font-size:25px;margin:0 0 10px}.hero-line{font-size:18px;color:#ccd9e1;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{border-bottom:1px solid #8ad9df;padding:8px 0}.hero-bottom{position:absolute;bottom:32px;left:max(4vw,50px);right:max(4vw,50px);display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.5px}.hero-bottom span{font-size:22px;margin-left:14px}.hero-bottom button{border:1px solid #ffffff55;background:#101b2a66;color:white;font-size:13px;letter-spacing:0;padding:6px 14px;border-radius:4px;cursor:pointer}.section{padding:105px 0}h2{font-size:clamp(32px,4vw,51px);font-weight:400;letter-spacing:-1.6px;line-height:1.18;margin:0 0 28px}h3{font-weight:500;line-height:1.4}.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:95px;align-items:center}.portrait-wrap{position:relative;max-width:370px;min-height:420px;display:flex;align-items:flex-end}.abstract{position:absolute;inset:45px -5px 25px 0;background:#d6f0ed;border-radius:42% 58% 55% 45%/42% 40% 60% 58%;transform:rotate(-10deg)}.abstract:after{content:'';position:absolute;inset:45px -10px 80px 10px;background:#afe1dc;border-radius:65% 35% 65% 35%;transform:rotate(25deg)}.portrait-wrap img{position:relative;width:100%;height:auto;display:block;max-height:430px;object-fit:contain;object-position:bottom}.about-copy>p:not(.eyebrow){color:var(--muted)}.facts{display:flex;gap:28px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px;flex-wrap:wrap}.facts strong{display:block;font-size:23px;font-weight:500}.facts span{display:block;font-size:13px;color:var(--muted)}.experience{background:#f4f8fa}.section-heading{margin-bottom:55px}.timeline{border-left:1px solid #bdd4dd;margin-left:16px}.job{display:flex;gap:35px;margin-bottom:35px;position:relative;padding-left:39px}.job-number{position:absolute;left:-17px;top:3px;border:1px solid #bfd8dd;border-radius:50%;width:34px;height:34px;background:#f4f8fa;display:grid;place-items:center;font-size:12px;color:#157d88}.job-body{width:100%;padding:0 0 25px;border-bottom:1px solid var(--line)}.job-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.job h3{font-size:25px;margin:0 0 7px}.date{font-size:14px;color:var(--muted);white-space:nowrap}.company{color:#008da0;font-size:16px;margin:0 0 15px}.job ul{padding-left:21px;margin:18px 0 0;color:var(--muted);max-width:900px}.job li{padding-left:7px;margin:7px 0}.job li::marker{color:var(--cyan)}.additional{margin-top:52px}.additional .job-number{display:none}.additional .job{padding-left:0;margin:0}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.skill-card{border-top:2px solid var(--cyan);padding-top:25px}.skill-icon{font-size:14px;color:var(--cyan);letter-spacing:1px}.skill-card h3{font-size:23px;margin:13px 0}.skill-card p{color:var(--muted);line-height:2}.tools-row{border-top:1px solid var(--line);margin-top:35px;padding-top:30px;display:flex;align-items:center;gap:40px}.tools-row h3{font-size:18px;white-space:nowrap}.pills{display:flex;gap:12px;flex-wrap:wrap}.pills span{background:#eef6f7;padding:8px 15px;border-radius:5px;font-size:14px}.education{background:var(--navy);color:white}.education-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:100px}.degree{border-top:1px solid #ffffff26;padding-top:22px}.degree h3{font-size:23px;margin:0 0 10px}.degree p{margin:5px 0;color:#cad7df}.degree .company{color:#68dce5}.education .date{color:#a7bac7}.languages h3{font-size:26px;margin:0 0 32px}.languages>div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #ffffff26}.languages>div span:last-child{color:#a7bac7}.contact-email{font-size:clamp(20px,3vw,35px);color:#008ea1;border-bottom:1px solid #94dce2;overflow-wrap:anywhere}.contact p{display:flex;gap:35px;color:var(--muted);margin:24px 0 32px}footer{padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.js .reveal.visible{opacity:1;transform:none}@media(max-width:900px){.container{width:calc(100% - 50px)}nav{gap:16px;font-size:13px}.about{gap:45px}.facts{gap:20px}.education-grid{gap:45px}.job-top{display:block}.skill-grid{gap:20px}.hero-copy{margin-left:30px}.hero-bottom{left:30px;right:30px}}@media(max-width:680px){.nav{height:74px;padding:0 20px;gap:15px}nav{position:absolute;top:74px;left:0;right:0;justify-content:center;padding:8px 12px;background:rgba(16,27,42,.96);gap:18px;font-size:12px}.button.small{font-size:13px;padding:8px 12px}.hero{min-height:740px}.hero-copy{padding-top:230px;margin-left:25px;margin-right:25px}.hero h1{font-size:64px;letter-spacing:-3px}.hero-role{font-size:22px}.hero-actions{gap:22px}.hero-actions .button{padding:12px 16px;font-size:14px}.hero-line{font-size:16px}.hero-bottom{left:25px;right:25px;font-size:10px}.section{padding:70px 0}.about{grid-template-columns:1fr;gap:35px}.portrait-wrap{max-width:270px;min-height:300px;margin:auto}.portrait-wrap img{max-height:320px}.facts strong{font-size:20px}.education-grid{grid-template-columns:1fr;gap:50px}.skill-grid{grid-template-columns:1fr;gap:20px}.skill-card p{margin-bottom:10px}.tools-row{display:block}.job{padding-left:30px}.job h3{font-size:22px}.job li{font-size:16px}.contact p{flex-wrap:wrap;gap:10px 25px}.container{width:calc(100% - 44px)}h2{font-size:36px}.hero video{object-position:62% center}html{scroll-padding-top:120px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.button{transition:none}}
/* Mobile hero controls occupy their own row instead of overlaying the actions. */
@media(max-width:680px){
 .about{overflow:clip}
 .hero{display:flex;flex-direction:column;height:auto;min-height:100svh}
 .hero-copy{flex:1;padding-top:180px;padding-bottom:42px}
 .hero-actions{flex-wrap:wrap;row-gap:18px}
 .hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin:0 25px;padding-bottom:28px;gap:20px;flex-wrap:wrap;z-index:1}
}
