:root{--navy:#131b2d;--ink:#252b38;--muted:#667080;--paper:#f7f8fa;--white:#fff;--line:#dde1e7;--soft:#eef1f4;--blue:#315caa;--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:white;padding:.75rem 1rem;z-index:30}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);background:rgba(247,248,250,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.brand{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:white;border-radius:2px;font-size:.72rem;font-weight:700;letter-spacing:.08em}.site-header nav{display:flex;gap:2.2rem}.site-header nav a{color:var(--muted);font-size:.85rem;transition:color .2s}.site-header nav a:hover{color:var(--navy)}.header-cta{font-size:.84rem;font-weight:700;border-bottom:1px solid var(--navy);padding:.25rem 0}.hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:8vw;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem) clamp(4rem,7vw,7rem);align-items:end;background:var(--white);border-bottom:1px solid var(--line)}.hero:before{display:none}.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);display:flex;align-items:center;gap:.7rem}.eyebrow span{width:18px;height:1px;background:var(--blue);border-radius:0;box-shadow:none}h1,h2,h3{color:var(--navy)}h1{font:400 clamp(3.5rem,7vw,7.2rem)/.98 var(--serif);letter-spacing:-.045em;max-width:1050px;margin:1.2rem 0 1.8rem}h1 em{font-style:italic;color:var(--navy);-webkit-text-stroke:0}.hero-text{font-size:clamp(1.05rem,1.4vw,1.3rem);max-width:720px;color:var(--muted)}.hero-actions{display:flex;gap:.8rem;margin-top:2.4rem;flex-wrap:wrap}.button{min-height:50px;padding:.75rem 1.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:700;font-size:.85rem;border:1px solid var(--navy);border-radius:0;cursor:pointer;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--navy);color:white}.primary:hover{background:#27324a}.secondary{background:transparent}.secondary:hover{background:var(--soft)}.hero-panel{padding:0;background:transparent;color:var(--ink);box-shadow:none;border-top:2px solid var(--navy)}.monogram{height:140px;margin:0;display:grid;place-items:center;background:var(--soft);border:0;border-bottom:1px solid var(--line);color:var(--navy);font:400 3.6rem var(--serif);letter-spacing:-.05em}.metric{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:0;border-bottom:1px solid var(--line)}.metric strong{font:400 1.8rem var(--serif);color:var(--navy);min-width:65px}.metric span{font-size:.82rem;color:var(--muted)}.location{padding-top:1rem;border-top:0;font-size:.75rem;color:var(--muted)}.location span{color:var(--blue)}.marquee{background:var(--navy);color:#d7dce5;overflow:hidden;white-space:nowrap;padding:.85rem 0;font-size:.7rem;font-weight:700;letter-spacing:.1em}.marquee div{width:max-content;animation:slide 28s linear infinite}.marquee span{padding:0 1.6rem;color:#8197bf}@keyframes slide{to{transform:translateX(-35%)}}.section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:5vw;padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,8rem);border-bottom:1px solid var(--line)}.section-label{text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--blue)}.section-label span{color:var(--muted);margin-right:.7rem}.section h2{font:400 clamp(2.8rem,5vw,5.2rem)/1.04 var(--serif);letter-spacing:-.04em;max-width:900px;margin:0 0 4rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6vw}.about p{color:var(--muted)}.about .lead{font:400 clamp(1.6rem,2.5vw,2.8rem)/1.25 var(--serif);color:var(--navy);margin-top:0}.role{display:grid;grid-template-columns:220px 1fr;gap:4vw;padding:3.2rem 0;border-top:1px solid var(--line)}.role-meta p{font-size:.78rem;color:var(--muted);margin:.15rem 0}.company{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin:0 0 .5rem}.role h3{font:400 clamp(2rem,3.4vw,3.4rem) var(--serif);margin:0 0 1.5rem}.role ul{padding-left:1.2rem;margin:0;color:#515a69;max-width:900px}.role li{margin:.6rem 0;padding-left:.4rem}.role li::marker{color:var(--blue)}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--navy)}.skills-grid article{padding:2rem 1rem 2rem 0;border-bottom:1px solid var(--line);min-height:180px;margin-right:2rem;transition:background .2s}.skills-grid article:nth-child(even){margin-right:0}.skills-grid article>span{font-size:.7rem;color:var(--muted)}.skills-grid h3{font:400 1.6rem var(--serif);margin:2rem 0 .6rem}.skills-grid p{margin:0;color:var(--muted);font-size:.9rem}.education-card{display:flex;justify-content:space-between;align-items:end;padding:2.2rem 0;background:transparent;color:var(--ink);border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}.education-card p{color:var(--muted);margin:0}.education-card h3{font:400 clamp(1.8rem,3vw,3rem) var(--serif);margin:.35rem 0 0}.contact{background:var(--navy);color:white;padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,8rem)}.contact h2{font:400 clamp(3.2rem,7vw,7rem)/1 var(--serif);letter-spacing:-.045em;color:white;margin:1.4rem 0 3rem}.contact>a{font-size:clamp(1.1rem,2.4vw,2rem);color:white;border-bottom:1px solid #8fa3ca;padding-bottom:.35rem}.contact-meta{display:flex;gap:2rem;margin-top:5rem;color:#aeb6c5;font-size:.82rem}footer{background:var(--navy);color:#9da7b8;border-top:1px solid rgba(255,255,255,.12);padding:1.4rem clamp(1.25rem,7vw,8rem);display:flex;justify-content:space-between;font-size:.75rem}.contact-dialog{width:min(560px,calc(100% - 2rem));padding:2.2rem;border:0;border-radius:0;box-shadow:0 30px 80px rgba(12,18,31,.28);color:var(--ink)}.contact-dialog::backdrop{background:rgba(19,27,45,.72);backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:1rem;right:1.2rem;border:0;background:none;color:var(--muted);font-size:1.8rem;line-height:1;cursor:pointer}.dialog-label{margin:0 0 1rem;color:var(--blue);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.contact-dialog h2{font:400 clamp(2.3rem,5vw,3.5rem)/1.05 var(--serif);margin:0;color:var(--navy)}.dialog-copy{color:var(--muted);margin:1rem 0 1.8rem}.email-card{display:flex;flex-direction:column;background:var(--soft);padding:1rem 1.2rem}.email-card span{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.email-card strong{margin-top:.2rem;font-size:clamp(1rem,4vw,1.25rem)}.dialog-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.copy-status{min-height:1.4rem;margin:.65rem 0 0;color:var(--blue);font-size:.78rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-panel{max-width:560px}.section{grid-template-columns:1fr}.section-label{margin-bottom:1.25rem}.about-grid,.role{grid-template-columns:1fr}.role-meta{display:flex;gap:1rem}.skills-grid{grid-template-columns:1fr}.skills-grid article{margin-right:0}.education-card{align-items:start;flex-direction:column;gap:1.5rem}}
@media(max-width:560px){.site-header{height:70px}.header-cta{font-size:.8rem}.hero{padding-top:4rem}.hero h1{font-size:3.35rem}.hero-panel{max-width:none}.section h2{margin-bottom:2.5rem}.skills-grid article{min-height:155px;padding:1.5rem 0}.contact-meta{flex-direction:column;gap:.4rem;margin-top:3rem}footer{gap:1rem;align-items:center}.contact-dialog{padding:1.5rem}.dialog-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}
