
:root{--ink:#0a2031;--navy:#061827;--navy2:#0b2b40;--paper:#f8fafb;--blue:#087baa;--sky:#8fdfff;--line:#d8e5ed;--muted:#506b7e;--text:#122f42}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--text);font-family:"Manrope","DM Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid #1797d0;outline-offset:4px;border-radius:3px}
img{max-width:100%}
.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:absolute;top:-70px;left:12px;background:#fff;color:var(--navy);z-index:900;padding:10px 14px}.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid #dbe6ed;position:relative;z-index:20}
.header-inside{min-height:79px;display:flex;justify-content:space-between;align-items:center;gap:22px}
.site-brand{display:inline-flex;align-items:center;gap:12px;min-width:185px;font-size:13px;line-height:1.1;font-weight:800;letter-spacing:-.045em}
.site-brand img{object-fit:contain;width:40px;height:44px}
.site-brand small{display:block;color:#628398;font-size:9px;font-weight:800;letter-spacing:.14em;margin-top:5px}
.top-nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(13px,2vw,29px);font-size:11px;font-weight:800}
.top-nav a{color:#254356;position:relative;white-space:nowrap;padding:5px 0}
.top-nav a:hover,.top-nav a[aria-current]{color:#006e9c}
.top-nav a[aria-current]::after{content:"";height:2px;background:#057db1;position:absolute;left:0;right:0;bottom:-7px}
.hero{background:#071b2a;color:#fff;overflow:hidden;position:relative}
.hero::before{content:"";position:absolute;width:700px;height:700px;border:1px solid rgba(104,172,205,.08);border-radius:50%;left:-420px;top:-440px;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;min-height:630px}
.hero-content{padding:96px 60px 75px 0;align-self:center;position:relative;z-index:2}
.eyebrow{font:800 10px/1.3 "Manrope",sans-serif;letter-spacing:.17em;color:#8fdcff;text-transform:uppercase;margin:0}
.eyebrow-rule{display:inline-block;background:#6cd6ff;height:2px;width:25px;vertical-align:middle;margin-right:9px}
.hero h1{font-size:clamp(59px,5.6vw,94px);font-weight:800;line-height:1.035;letter-spacing:-.085em;margin:25px 0 26px;max-width:780px}
.hero h1 em,.closing h2 em{font-weight:500;font-style:normal;color:#83d7ff}
.hero-role{font-size:13px;line-height:1.65;color:#f1f7fb;font-weight:800;margin:0 0 19px}
.role-sep{opacity:.4;padding-inline:7px}
.hero-summary{font-size:15px;line-height:1.85;max-width:570px;color:#b5cbda;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:30px 0 29px}
.button{border:1px solid transparent;display:inline-flex;gap:22px;align-items:center;justify-content:space-between;min-height:52px;padding:14px 18px;font-size:12px;font-weight:800;transition:background .2s,border-color .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button.primary{background:#def3ff;color:#0b2d42;border-color:#def3ff}
.button.primary:hover{background:#fff}
.button.outline{background:transparent;border-color:#476477;color:#eaf6fb}
.button.outline:hover{border-color:#93b7cc;background:#15354a}
.hero-contacts{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:11px;font-weight:700;color:#8caec2}
.hero-contacts a:hover{color:#fff}
.hero-visual{align-self:stretch;min-height:615px;position:relative;background:linear-gradient(138deg,#133f59 0%,#0a273b 55%,#061726 100%);border-left:1px solid rgba(135,204,235,.16);display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
.hero-visual::before{content:"";position:absolute;width:82%;aspect-ratio:1;border:1px solid rgba(172,225,255,.16);border-radius:50%;top:14%;left:9%;box-shadow:0 0 0 70px rgba(255,255,255,.012),0 0 0 140px rgba(255,255,255,.008)}
.hero-portrait{height:calc(100% - 100px);max-height:630px;width:100%;object-fit:contain;object-position:bottom;position:relative;z-index:1;filter:drop-shadow(0 18px 38px rgba(0,8,15,.35))}
.hero-visual-top,.hero-visual-bottom{position:absolute;z-index:2;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;color:#bad7e7;letter-spacing:.11em;font-size:9px;font-weight:800}
.hero-visual-top{top:30px}.crosshair{font-size:25px;font-weight:300;color:#9fdfff}
.hero-visual-bottom{bottom:25px;gap:15px;flex-wrap:wrap;letter-spacing:.03em;text-transform:uppercase;color:#eefaff}
.hero-bottom{height:59px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(184,221,242,.18);position:relative;z-index:2}
.hero-bottom span,.hero-bottom a{font-size:9px;letter-spacing:.14em;color:#9bbbcf;font-weight:800}
.hero-bottom a:hover{color:#fff}
.impact-section{background:#fff;padding:99px 0 112px}
.section-topline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cddfe8;padding-top:18px}
.dark-kicker{color:#067dab}
.section-topline>p:last-child{margin:0;font-size:11px;color:#648094;font-weight:600}
.section-title{font-size:clamp(44px,5.2vw,77px);line-height:1.07;letter-spacing:-.075em;color:#092537;margin:27px 0 52px}
.title-dot{color:#0b8bbc}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #d5e2e9;border-bottom:1px solid #d5e2e9}
.impact-cell{padding:28px 25px 25px 0;min-height:255px}
.impact-cell+.impact-cell{border-left:1px solid #d5e2e9;padding-left:26px}
.metric-number{font-size:clamp(46px,4.5vw,74px);font-weight:800;letter-spacing:-.085em;line-height:1.1;color:#072b42;white-space:nowrap}
.metric-number small{font-size:.35em;letter-spacing:-.03em;color:#0588be;margin-left:3px}
.impact-cell h3{font-size:13px;line-height:1.4;letter-spacing:-.03em;color:#12364c;margin:21px 0 9px}
.impact-cell p{font-size:11px;color:#60798a;line-height:1.8;max-width:245px;margin:0}
.resume-main{padding:95px 0 84px;background:#f6f9fa}
.resume-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:clamp(46px,7vw,120px)}
.resume-sidebar{border-top:1px solid #d5e2ea}
.side-sticky{position:sticky;top:36px;padding-top:24px}
.jump-nav{display:flex;flex-direction:column;gap:0;margin:19px 0 38px}
.jump-nav a{padding:13px 0;border-bottom:1px solid #d9e4eb;font-weight:800;font-size:11px;display:flex;align-items:center;gap:12px;transition:color .2s,padding .2s}
.jump-nav a:hover{color:#007eae;padding-left:5px}
.jump-nav a span{font-size:10px;font-weight:600;color:#7895a5}
.side-contact{display:grid;gap:4px}
.side-contact span{font-size:9px;letter-spacing:.13em;font-weight:800;color:#6e8998;margin-top:14px}
.side-contact strong{font-size:12px;color:#173c51}
.resume-block{padding:0 0 78px;margin-bottom:73px;border-bottom:1px solid #ccdde6;scroll-margin-top:25px}
.resume-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.block-heading{margin-bottom:35px}
.block-number{display:block;font-size:10px;letter-spacing:.17em;color:#097ead;font-weight:800}
.block-heading h2{font-size:clamp(39px,4.3vw,65px);line-height:1.12;letter-spacing:-.07em;margin:14px 0 0;color:#0a283c;font-weight:800}
.experience-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.experience-header h3{font-size:22px;letter-spacing:-.04em;line-height:1.2;margin:0 0 7px;color:#0e2e43}
.experience-header p{margin:0;color:#667f8d;font-size:12px;font-weight:700}
.date-pill{white-space:nowrap;display:inline-block;padding:8px 12px;border:1px solid #cfdee8;border-radius:99px;font-size:10px;font-weight:800;color:#31586e}
.experience-lead{font-size:15px;color:#254b61;line-height:1.9;margin:25px 0}
.experience-list{margin:0;padding:0;list-style:none;display:grid;gap:0}
.experience-list li{position:relative;padding:16px 0 16px 26px;border-top:1px solid #d9e4e9;font-size:13px;line-height:1.8;color:#3d5c6d}
.experience-list li::before{content:"";position:absolute;left:1px;top:27px;width:8px;height:2px;background:#0a92c6}
.strength-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.strength-grid>div{min-height:126px;background:#fff;border:1px solid #dae6ec;padding:22px 23px;display:flex;flex-direction:column;justify-content:space-between;gap:17px;transition:border-color .2s,transform .2s}
.strength-grid>div:hover{border-color:#85b9d2;transform:translateY(-3px)}
.strength-grid span{font-size:10px;color:#0f92c2;font-weight:800}
.strength-grid strong{font-size:13px;line-height:1.45;max-width:275px;color:#183b50}
.skill-rows{border-top:1px solid #cbdee6}
.skill-row{display:grid;grid-template-columns:155px 1fr;gap:28px;padding:25px 0;border-bottom:1px solid #cbdee6}
.skill-row h3{font-size:12px;margin:1px 0 0;color:#0d3249;font-weight:800}
.skill-row p{font-size:13px;line-height:1.9;margin:0;color:#445f71}
.skill-row p span{color:#0d8fbd;margin:0 4px}
.project-list{border-top:1px solid #cbdee6}
.project{display:grid;grid-template-columns:35px minmax(0,1fr);gap:16px;padding:25px 0 28px;border-bottom:1px solid #cbdee6}
.project-num{font-size:10px;color:#0a87b4;font-weight:800;padding-top:9px}
.project-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
.project-heading h3{font-size:22px;letter-spacing:-.045em;line-height:1.25;margin:0;color:#0b293d}
.project-heading a{font-size:10px;color:#006f9c;font-weight:800;white-space:nowrap}
.project-heading a:hover{text-decoration:underline}
.project-stack{font-size:9px!important;letter-spacing:.09em;font-weight:800!important;color:#1886af!important;margin:11px 0 9px!important}
.project p{max-width:660px;margin:0;color:#526d80;font-size:12px;line-height:1.8}
.education-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #cadde7;padding-top:27px}
.education-row h3{font-size:18px;letter-spacing:-.045em;margin:0 0 5px}
.education-row p{margin:0;font-size:13px;color:#607b8d}
.education-row span{font-size:12px;font-weight:700;color:#3b6b82;white-space:nowrap}
.closing{padding:100px 0;background:#0c3048;color:#fff}
.closing-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw;align-items:end}
.closing h2{font-size:clamp(43px,5vw,75px);font-weight:800;letter-spacing:-.07em;line-height:1.12;margin:16px 0 0}
.closing-grid>div:last-child p{color:#c7dbe7;font-size:15px;line-height:1.8;max-width:350px;margin:0 0 24px}
.closing-link{display:flex;align-items:center;justify-content:space-between;padding:18px 2px;border-bottom:1px solid #7aa8c2;font-size:13px;font-weight:800;max-width:315px}
.closing-link:hover{color:#86dcff;border-color:#86dcff}
.universal-footer{padding:30px 0 25px;background:#070b12;color:#dce6ed}
.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-top{padding-bottom:28px;border-bottom:1px solid #25303a}
.footer-bottom{padding-top:18px}
.footer-brand{display:flex;align-items:center;gap:13px;font-size:11px}
.footer-brand img.logo{width:38px;height:41px;object-fit:contain}
.footer-brand img.signature{width:95px;height:44px;object-fit:contain;margin-left:4px}
.footer-top small{font-size:10px;color:#afc0ce}
.footer-bottom nav{display:flex;align-items:center;flex-wrap:wrap;gap:23px;font-size:10px;font-weight:600}
.footer-bottom>a{font-size:10px}
.footer-bottom a:hover{color:#80d9fc}
@media(max-width:1100px){.hero h1{font-size:clamp(51px,6vw,74px)}.hero-content{padding-right:36px}.resume-layout{gap:50px}.impact-cell{padding-right:16px}.impact-cell+.impact-cell{padding-left:16px}}
@media(max-width:900px){
 .container{width:calc(100% - 44px)}
 .hero-grid{grid-template-columns:1fr .85fr;min-height:560px}
 .hero-content{padding:68px 25px 68px 0}
 .hero-summary{font-size:13px}
 .hero-visual{min-height:560px}
 .hero-portrait{height:78%}
 .hero-visual-bottom{gap:7px;font-size:8px}
 .hero-visual-top{left:18px;right:18px}
 .impact-grid{grid-template-columns:repeat(2,1fr)}
 .impact-cell{min-height:206px;padding:26px 18px 28px 0}
 .impact-cell:nth-child(3){border-left:0;border-top:1px solid #d5e2e9}
 .impact-cell:nth-child(4){border-top:1px solid #d5e2e9}
 .resume-layout{grid-template-columns:170px 1fr;gap:37px}
 .skill-row{grid-template-columns:110px 1fr;gap:20px}
 .top-nav{gap:14px}
 .footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
 .container{width:calc(100% - 36px)}
 .header-inside{min-height:75px;flex-wrap:wrap;padding:11px 0 13px;gap:5px}
 .site-brand{min-width:0}
 .top-nav{width:100%;justify-content:flex-start;gap:16px;overflow-x:auto;white-space:nowrap;padding:8px 0;scrollbar-width:thin}
 .hero-grid{grid-template-columns:1fr;min-height:0}
 .hero-content{padding:69px 0 49px}
 .hero h1{font-size:clamp(55px,12vw,78px)}
 .hero-visual{min-height:360px;height:420px;border-left:0;border-top:1px solid rgba(135,204,235,.16)}
 .hero-portrait{height:100%;max-height:none;width:100%;object-position:bottom}
 .hero-bottom{height:auto;min-height:70px}
 .hero-bottom span{max-width:230px}
 .impact-section{padding:65px 0 76px}
 .section-title{margin:23px 0 31px}
 .section-topline>p:last-child{max-width:135px;text-align:right;font-size:10px}
 .resume-main{padding:65px 0}
 .resume-layout{display:block}
 .resume-sidebar{margin-bottom:52px}
 .side-sticky{position:static}
 .jump-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 18px;margin-bottom:5px}
 .side-contact{display:none}
 .resume-block{margin-bottom:58px;padding-bottom:57px}
 .block-heading{margin-bottom:28px}
 .closing{padding:75px 0}
 .closing-grid{grid-template-columns:1fr;gap:32px}
 .footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:440px){
 .hero h1{font-size:53px}
 .hero-role{font-size:12px}
 .hero-actions{display:grid}
 .button{width:100%}
 .hero-contacts{gap:8px 18px}
 .hero-visual{height:345px;min-height:0}
 .hero-visual-bottom{font-size:7px;left:15px;right:15px}
 .impact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .impact-cell{padding:19px 10px 23px 0;min-height:214px}
 .impact-cell+.impact-cell{padding-left:11px}
 .metric-number{font-size:clamp(40px,11vw,55px)}
 .impact-cell h3{font-size:11px;margin-top:15px}
 .impact-cell p{font-size:10px}
 .strength-grid{grid-template-columns:1fr}
 .strength-grid>div{min-height:88px;padding:17px 19px;gap:10px}
 .skill-row{grid-template-columns:1fr;gap:7px}
 .skill-row h3{font-size:13px}
 .experience-header{display:block}
 .date-pill{margin-top:13px}
 .project-heading{align-items:flex-start}
 .project-heading h3{font-size:19px}
 .education-row{align-items:flex-start;flex-direction:column;gap:8px}
 .footer-bottom nav{gap:15px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media print{
 .site-header,.hero-visual,.hero-bottom,.hero-actions,.hero-contacts,.resume-sidebar,.closing,.universal-footer{display:none!important}
 .hero{background:white;color:#0a2031}
 .hero-grid{display:block;min-height:0}
 .hero-content{padding:0 0 20px}
 .hero h1{font-size:36px;color:#0a2031}
 .hero h1 em{color:#0a2031}
 .hero-role,.hero-summary{color:#0a2031}
 .impact-section,.resume-main{background:white;padding:24px 0}
 .impact-cell{min-height:0}
 .resume-layout{display:block}
 .resume-block{break-inside:avoid-page;margin-bottom:25px;padding-bottom:25px}
 .container{width:100%}
}
