:root{--ink:#06131f;--navy:#081a29;--navy-2:#0c2437;--gold:#dba24b;--gold-light:#f1c273;--white:#f8fafb;--muted:#b3c0ca;--line:rgba(255,255,255,.12);--shadow:0 24px 70px rgba(0,0,0,.25);--serif:Georgia,"Times New Roman",serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--ink);color:var(--white);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1240px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 16px;background:var(--gold);color:var(--ink);font-weight:800;text-decoration:none;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}
.topbar{position:sticky;top:0;z-index:50;background:rgba(6,19,31,.88);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font:700 1.16rem var(--serif);letter-spacing:-.01em;text-decoration:none;white-space:nowrap}nav{display:flex;align-items:center;gap:25px}nav a{position:relative;padding:28px 0 24px;color:#dce3e8;font-size:.69rem;font-weight:750;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:color .2s}nav a::after{position:absolute;right:0;bottom:18px;left:0;height:2px;background:var(--gold);content:"";transform:scaleX(0);transition:transform .2s}nav a:hover,nav a[aria-current="page"]{color:var(--gold-light)}nav a:hover::after,nav a[aria-current="page"]::after{transform:scaleX(1)}.menu-toggle{display:none;width:42px;height:42px;padding:10px;background:transparent;border:1px solid var(--line);border-radius:50%;color:#fff}.menu-toggle span{display:block;width:18px;height:1.5px;margin:4px auto;background:currentColor;transition:.2s}
.hero{position:relative;isolation:isolate;min-height:660px;overflow:hidden;background:radial-gradient(circle at 20% 28%,rgba(41,100,140,.48),transparent 36%),linear-gradient(125deg,#102f47 0,#081b2b 50%,#05111c 100%);border-bottom:1px solid var(--line)}.hero::before{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;content:"";mask-image:linear-gradient(90deg,#000,transparent 68%)}.hero::after{position:absolute;z-index:-1;right:-180px;bottom:-360px;width:650px;height:650px;border:1px solid rgba(219,162,75,.22);border-radius:50%;box-shadow:0 0 0 90px rgba(219,162,75,.025),0 0 0 180px rgba(219,162,75,.02);content:""}.hero-grid{display:grid;grid-template-columns:42% 58%;min-height:660px;align-items:end}.portrait-wrap{position:relative;height:660px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.portrait-wrap::after{position:absolute;right:10%;bottom:0;left:10%;height:24px;background:rgba(0,0,0,.4);border-radius:50%;filter:blur(18px);content:""}.portrait{position:relative;z-index:1;display:block;height:93%;max-width:100%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 40px rgba(0,0,0,.28))}.hero-copy{padding:72px 0 82px 54px;align-self:center}.eyebrow{margin:0 0 11px;color:var(--gold-light);font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.hero h1{max-width:760px;margin:0;font:700 clamp(3rem,4.5vw,5.25rem)/.98 var(--serif);letter-spacing:-.045em;text-wrap:balance}.gold-rule{width:72px;height:3px;margin:25px 0 27px;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:3px}.gold-rule.short{width:54px;margin:15px 0 34px}.hero h2{margin:0;font:700 1.72rem var(--serif)}.institution{margin:3px 0 23px;color:#e0e6ea;font:italic 1.3rem var(--serif)}.intro{max-width:710px;margin:0;color:#d3dce2;font-size:1.02rem;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:12px 21px;border:1px solid rgba(219,162,75,.8);border-radius:999px;color:#f6e9d3;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-decoration:none;text-transform:uppercase;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}.btn.primary{background:linear-gradient(135deg,#d29232,#e7b65f);border-color:transparent;color:#071522;box-shadow:0 9px 28px rgba(219,162,75,.17)}.btn:hover{transform:translateY(-2px);background:rgba(219,162,75,.1);border-color:var(--gold-light)}.btn.primary:hover{background:linear-gradient(135deg,#e0a347,#f0c576);box-shadow:0 12px 30px rgba(219,162,75,.25)}
.training-strip{background:linear-gradient(180deg,#102d43,#0b2133);border-bottom:1px solid var(--line)}.training-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.training-card{position:relative;display:flex;flex-direction:column;min-height:205px;padding:31px 28px 29px;border-right:1px solid var(--line);text-decoration:none;transition:background .2s,transform .2s}.training-card:last-child{border-right:0}.training-card::after{position:absolute;right:24px;bottom:27px;color:var(--gold-light);font-size:1.1rem;content:"↗";opacity:0;transform:translate(-5px,5px);transition:.2s}.training-card:hover{z-index:1;background:rgba(255,255,255,.055);transform:translateY(-4px)}.training-card:hover::after{opacity:1;transform:none}.training-kicker{margin-bottom:10px;color:var(--gold-light);font-size:.67rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.training-card h3{margin:0 0 7px;font:700 1.13rem/1.4 var(--serif)}.training-card p{margin:0;color:#d8e0e5;font-size:.88rem;line-height:1.45}.training-card span{display:block;margin-top:auto;padding-top:20px;color:var(--gold-light);font-size:.82rem;font-weight:700}
.section{padding:96px 0;background:#091c2b}.section.dark{background:linear-gradient(130deg,#0d2a40,#071825)}.section.alt{background:#0d2334}.section h2,.contact h2{max-width:800px;margin:0;font:700 clamp(2.2rem,3.2vw,3rem)/1.08 var(--serif);letter-spacing:-.025em}.two-col{display:grid;grid-template-columns:1.14fr .86fr;gap:92px;align-items:start}.two-col p{max-width:700px;margin:0 0 18px;color:#ced8df;font-size:1rem;line-height:1.85}.facts{display:grid;gap:13px;padding-top:4px}.facts div{position:relative;padding:20px 23px;border:1px solid var(--line);border-left:3px solid var(--gold);background:linear-gradient(90deg,rgba(219,162,75,.07),rgba(255,255,255,.02));border-radius:0 8px 8px 0}.facts b,.facts span{display:block}.facts b{margin-bottom:5px;color:var(--gold-light);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.facts span{color:#e1e7ea;line-height:1.5}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cards article{position:relative;min-height:198px;padding:29px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));box-shadow:0 1px 0 rgba(255,255,255,.03) inset;transition:transform .2s,border-color .2s,background .2s}.cards article:hover{transform:translateY(-4px);border-color:rgba(219,162,75,.42);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02))}.cards .date{color:var(--gold-light);font-size:.72rem;font-weight:800;letter-spacing:.06em}.cards h3{margin:8px 0 9px;font:700 1.2rem/1.38 var(--serif)}.cards p{margin:4px 0 11px;color:#c7d1d8}.cards small{display:block;color:#94a4b0;line-height:1.45}.cards.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.cards.compact article{min-height:165px}.section-intro{margin:-8px 0 31px;color:var(--muted)}.pubs{margin-bottom:40px;border-top:1px solid var(--line)}.pubs article{display:grid;grid-template-columns:72px 1fr;gap:25px;padding:25px 20px;border-bottom:1px solid var(--line);transition:background .2s}.pubs article:hover{background:rgba(255,255,255,.028)}.pubs .year{color:var(--gold-light);font-weight:850}.pubs a{font:700 1.06rem/1.5 var(--serif);text-decoration-color:rgba(219,162,75,.7);text-decoration-thickness:1px;text-underline-offset:5px}.pubs a:hover{color:var(--gold-light)}.pubs p{margin:7px 0 0;color:#aab8c2;font-size:.89rem}.pubs .featured{background:linear-gradient(90deg,rgba(219,162,75,.075),transparent);box-shadow:3px 0 0 var(--gold) inset}.center{text-align:center}.cv{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 130%,rgba(52,117,158,.5),transparent 44%),linear-gradient(135deg,#102d44,#081a29)}.cv .center>p{max-width:780px;margin:19px auto 31px;color:#c7d2da}.contact{padding:82px 0;background:#061522;border-top:1px solid var(--line)}.email{display:inline-block;margin-top:16px;color:#f1f4f6;font:700 clamp(1.05rem,2vw,1.35rem) var(--serif);text-decoration-color:var(--gold);text-underline-offset:5px}.social-links{display:flex;justify-content:center;align-items:center;margin-top:19px}a.linkedin{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;text-decoration:none;transition:color .2s,border-color .2s,transform .2s,background .2s}a.linkedin svg{display:block;width:17px;height:17px}a.linkedin:hover{color:var(--ink);background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px)}footer{padding:26px 0;background:#040e17;border-top:1px solid var(--line);color:#83939f;text-align:center;font-size:.8rem}
@media(max-width:1120px){nav{gap:15px}.wordmark{font-size:1.03rem}nav a{font-size:.63rem}.cards.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.training-card{padding-inline:22px}.hero-copy{padding-left:35px}}
@media(max-width:880px){.shell{width:min(100% - 38px,1240px)}.menu-toggle{display:block}.menu-open .menu-toggle span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.nav{min-height:68px}.wordmark{font-size:1.05rem}nav{position:absolute;top:68px;right:0;left:0;display:none;padding:10px 22px 22px;background:rgba(6,19,31,.98);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:0}.menu-open nav{display:flex}nav a{width:100%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}nav a::after{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{order:1;padding:54px 0 34px}.portrait-wrap{order:2;height:450px}.portrait{height:100%}.training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.training-card:nth-child(2){border-right:0}.training-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.two-col{grid-template-columns:1fr;gap:38px}.section{padding:78px 0}}
@media(max-width:600px){.shell{width:min(100% - 28px,1240px)}.wordmark{max-width:245px;font-size:.92rem;white-space:normal;line-height:1.2}.hero h1{font-size:2.65rem}.hero h2{font-size:1.38rem}.institution{font-size:1.17rem}.intro{font-size:.96rem}.portrait-wrap{height:370px}.actions{display:grid}.btn{width:100%}.training-grid{grid-template-columns:1fr}.training-card{min-height:158px;padding:24px 20px;border-right:0!important;border-bottom:1px solid var(--line)!important}.training-card:last-child{border-bottom:0!important}.training-card span{padding-top:16px}.cards,.cards.compact{grid-template-columns:1fr}.cards article{min-height:0}.pubs article{grid-template-columns:1fr;gap:4px;padding-inline:12px}.section{padding:65px 0}.two-col{gap:25px}.contact{padding:65px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Prominent professional profile link */
.contact h2,.cv h2{margin-inline:auto}
.identity-line{margin:18px 0 0;color:#dce4e9;font-size:.76rem;font-weight:800;letter-spacing:.11em;line-height:1.6;text-transform:uppercase}
.identity-line span{margin:0 .45em;color:var(--gold-light)}
.social-links{margin-top:22px}
a.linkedin{width:auto;height:auto;min-height:48px;padding:0 22px;gap:10px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
a.linkedin svg{width:19px;height:19px;flex:none}

@media(max-width:600px){.identity-line{font-size:.68rem;letter-spacing:.075em}.identity-line span{margin:0 .2em}}

/* CV download and copy-email controls */
.cv-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.email-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.email-actions .email{margin-top:0}
.copy-email{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(219,162,75,.8);border-radius:999px;background:transparent;color:#f6e9d3;font:800 .68rem var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.copy-email svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.copy-email:hover{transform:translateY(-2px);background:rgba(219,162,75,.1);border-color:var(--gold-light)}
.copy-email:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
.copy-status{min-height:1.2em;margin:8px 0 0;color:var(--gold-light);font-size:.78rem}
@media(max-width:600px){.cv-actions{display:grid}.cv-actions .btn{width:100%}.email-actions{flex-direction:column;gap:12px}.copy-email{width:40px}}
