@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f1e8;--ink:#17322d;--muted:#40554e;--line:#cdcfc1;--mint:#e1e8d9;}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:500 1rem/1.65 "DM Sans",system-ui,sans-serif}
a{color:inherit;text-underline-offset:.25em}
a:focus-visible{outline:2px solid #a4502f;outline-offset:5px}
.wrap{width:min(1160px,calc(100% - 72px));margin-inline:auto}
.header,.footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:22px}
.header{border-bottom:1px solid var(--line)}
.brand,.header nav a{text-decoration:none}
.brand{font-size:1.1rem;font-weight:800}
nav{display:flex;gap:clamp(14px,3vw,40px);font-size:.88rem;font-weight:800}
nav a:hover{text-decoration:underline}
.hero{border-bottom:1px solid var(--line);padding-block:clamp(54px,8vw,108px)}
h1,h2,h3,p,ol,dl,dd{margin:0}
h1,h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:.99;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(3.65rem,7.3vw,7.15rem);max-width:12ch}
h2{font-size:clamp(2.75rem,5.4vw,5rem);max-width:17ch}
h3{font-size:1.23rem;line-height:1.32;letter-spacing:-.025em}
.label{font-size:.72rem;line-height:1.5;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}
.intro,.body{max-width:57ch;color:var(--muted);margin-top:22px}
.intro{font-size:clamp(1rem,1.6vw,1.13rem)}
.button,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:11px 20px;font-size:.86rem;font-weight:800;text-decoration:none}
.button{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.button:hover{background:#2a5045}
.hero .button,.actions{margin-top:27px}
.secondary{border:1px solid var(--ink)}
.secondary:hover{background:var(--mint)}
.section{padding-block:clamp(62px,8vw,104px);scroll-margin-top:10px}
.experience{background:var(--mint)}
.history{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,100px)}
.roles{padding:0;list-style:none}
.roles li{border-top:1px solid #9eada0;padding:17px 0 8px}
.roles span{font-size:.78rem;font-weight:800;display:block;margin-bottom:6px}
.contact h2{max-width:19ch}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.footer{border-top:1px solid var(--line);font-size:.81rem;font-weight:800}
.skip{position:absolute;left:12px;top:8px;background:white;padding:10px;transform:translateY(-160%)}
.skip:focus{transform:none}
@media(max-width:800px){.history{grid-template-columns:1fr}.wrap{width:calc(100% - 44px)}}
@media(max-width:610px){.header{flex-wrap:wrap;gap:9px;padding-block:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

h1{font-size:clamp(3.2rem,6.15vw,6rem);max-width:19ch}
.education-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(24px,5vw,66px);margin-top:36px}
@media(max-width:610px){.education-grid{grid-template-columns:1fr}.header nav{flex-wrap:wrap;row-gap:5px}}
.timeline .roles li{padding-bottom:16px}
.skills{padding-block:clamp(32px,5vw,62px)}
.skills h2{font-size:clamp(2.35rem,4vw,3.4rem)}
.timeline .roles p{margin:6px 0 0}
.school-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:28px 0}
.school-logos li{min-width:0;text-align:center;font-size:.78rem;font-weight:700;line-height:1.4}
.school-mark{display:grid;place-items:center;height:74px;padding:12px;margin-bottom:8px;background:#fff;border:1px solid var(--line)}
.school-mark img{display:block;max-width:100%;max-height:48px;width:auto;height:auto}
.school-mark.nyu{background:#57068c}
.school-mark.seton-hall{background:#004488}
@media(max-width:800px){.school-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.school-logos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 36px;list-style:none;padding:0;margin:20px 0 0}
.skill-groups h3{font-size:1rem}
.skill-groups p{color:var(--muted);margin-top:4px;font-size:.92rem}
@media(max-width:610px){.skill-groups{grid-template-columns:1fr}}
.about{padding-block:clamp(36px,5vw,66px)}
.timeline .roles{max-width:72ch;margin-top:28px}
@media(max-width:800px){.header nav{flex-wrap:wrap;row-gap:5px}}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);align-items:center;gap:clamp(24px,6vw,84px)}
.headshot{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%}
@media(max-width:660px){.hero{grid-template-columns:minmax(0,1fr)}.headshot{width:min(100%,160px)}}
