:root{--ink:#111820;--muted:#657080;--paper:#f7f8fa;--white:#fff;--line:#dfe3e8;--soft:#eef2f6;--accent:#001f3f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 64px);margin:0 auto}.nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:104px;display:flex}.monogram{border:1px solid var(--ink);letter-spacing:.06em;border-radius:50%;place-items:center;width:42px;height:42px;font-size:12px;font-weight:700;transition:background .25s,color .25s;display:grid}.monogram:hover{background:var(--ink);color:var(--white)}.nav-links{align-items:center;gap:32px;font-size:14px;font-weight:600;display:flex}.nav-links a{transition:color .2s}.nav-links a:hover{color:var(--accent)}.resume-link{border:1px solid var(--ink);border-radius:999px;align-items:center;gap:8px;padding:11px 17px;display:inline-flex}.hero{flex-direction:column;justify-content:space-between;min-height:760px;padding:92px 0 108px;display:flex}.hero-kicker,.eyebrow{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700;line-height:1.4}.hero h1{letter-spacing:-.065em;margin:48px 0 56px;font-family:Georgia,Times New Roman,serif;font-size:clamp(76px,11vw,154px);font-weight:400;line-height:.76}.hero h1 em{color:var(--accent);font-weight:400}.hero-bottom{grid-template-columns:1fr 1.08fr;align-items:end;gap:72px;display:grid}.hero-bottom>p{letter-spacing:-.025em;max-width:610px;margin:0;font-size:clamp(20px,2.1vw,30px);line-height:1.35}.hero-actions{justify-content:flex-end;gap:12px;display:flex}.button{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:0 21px;font-size:14px;font-weight:650;transition:transform .22s,background .22s,color .22s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--white)}.button-primary:hover{background:var(--accent)}.button-secondary:hover{background:var(--soft)}.profile-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--ink);padding:112px 0}.profile-grid{grid-template-columns:1fr 3.2fr;gap:40px;display:grid}.profile-copy{max-width:860px}.profile-copy p{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,3vw,43px);line-height:1.18}.profile-copy p+p{color:var(--muted);margin-top:32px;font-family:Inter,ui-sans-serif,sans-serif;font-size:clamp(18px,1.65vw,23px);line-height:1.45}.profile-copy strong{color:var(--accent);font-weight:600}.section{padding-top:130px;padding-bottom:130px}.section-heading{grid-template-columns:1fr 3.2fr;gap:40px;margin-bottom:86px;display:grid}.section-heading h2{letter-spacing:-.05em;max-width:760px;margin:-7px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,5.6vw,76px);font-weight:400;line-height:1}.timeline{border-top:1px solid var(--ink)}.job{border-bottom:1px solid var(--line);grid-template-columns:300px 1fr;gap:52px;padding:42px 0 48px;display:grid}.job h3,.skill h3{margin:0;font-size:18px;line-height:1.3}.job-meta>p{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin:7px 0 0;font-size:13px;font-weight:700;line-height:1.45}.job-date{color:var(--muted);justify-content:space-between;margin-bottom:22px;font-size:13px;font-weight:600;display:flex}.job-details ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.job-details li{color:#3f4854;padding-left:18px;line-height:1.55;position:relative}.job-details li:before{background:var(--accent);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.7em;left:0}.skills-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);padding:130px 0}.section-heading.compact{margin-bottom:72px}.skills-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.skill{border-bottom:1px solid var(--line);min-height:190px;padding:34px 38px 40px 0}.skill:nth-child(2n){padding-left:38px}.skill h3{margin-bottom:13px}.skill p{max-width:460px;color:var(--muted);margin:0;font-size:15px}.education-card{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;gap:40px;padding:42px 0;display:flex}.education-card p{margin:0}.education-degree{letter-spacing:-.02em;font-size:22px;font-weight:650;margin-bottom:8px!important}.education-card>div>p:not(.education-degree),.education-meta{color:var(--muted)}.education-meta{text-align:right}.footer{background:var(--accent);color:var(--white);padding:108px 0 38px}.footer .eyebrow{color:#b5c2d0}.footer h2{letter-spacing:-.065em;margin:78px 0 100px;font-family:Georgia,Times New Roman,serif;font-size:clamp(62px,9vw,126px);font-weight:400;line-height:.88}.contact-row{border-top:1px solid #405873;grid-template-columns:repeat(2,1fr);display:grid}.contact-row a{border-bottom:1px solid #405873;justify-content:space-between;align-items:center;padding:24px 4px;font-size:14px;transition:color .2s;display:flex}.contact-row a+a{margin-left:30px}.contact-row a:hover{color:#c7d4e2}.footer-note{color:#91a4b8;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;margin-top:84px;font-size:12px;display:flex}.reveal{animation:.75s cubic-bezier(.2,.8,.2,1) both reveal}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.shell{width:min(100% - 40px,720px)}.hero{min-height:auto;padding:72px 0 86px}.hero h1{margin:88px 0 68px}.hero-bottom,.profile-grid,.section-heading{grid-template-columns:1fr}.hero-bottom{gap:42px}.hero-actions{justify-content:flex-start}.profile-grid,.section-heading{gap:34px}.job{grid-template-columns:240px 1fr;gap:36px}}@media (width<=640px){.shell{width:calc(100% - 32px)}.nav{height:82px}.nav-links{gap:14px}.nav-links>a:not(.resume-link){display:none}.hero{padding:56px 0 72px}.hero-kicker{max-width:260px}.hero h1{margin:74px 0 56px;font-size:clamp(61px,21vw,88px);line-height:.8}.hero-bottom>p{font-size:21px}.hero-actions{flex-direction:column}.button{justify-content:space-between;width:100%}.profile-section,.section,.skills-section{padding-top:88px;padding-bottom:88px}.profile-copy p{font-size:31px}.profile-copy p+p{margin-top:28px;font-size:18px}.section-heading,.section-heading.compact{margin-bottom:54px}.section-heading h2{font-size:46px}.job{grid-template-columns:1fr;gap:22px;padding:34px 0 38px}.job-meta>p{font-size:12px}.job-date{flex-direction:column;align-items:flex-start;gap:2px}.job-details li{font-size:15px}.skills-grid{grid-template-columns:1fr}.skill{min-height:auto;padding:28px 0 34px}.skill:nth-child(2n){padding-left:0}.education-card{flex-direction:column;gap:24px}.education-degree{font-size:20px}.education-meta{text-align:left}.footer{padding-top:84px}.footer h2{margin:60px 0 72px;font-size:59px}.contact-row{grid-template-columns:1fr}.contact-row a+a{margin-left:0}.footer-note{margin-top:62px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
